2013-12-14 6 views
8

के लिए ग्रैडल के साथ स्कैला का उपयोग करना कहीं मेमोरी रिसाव लगता है।एंड्रॉइड प्रोजेक्ट

जब इंटेलीजे में एक परियोजना की स्थापना और Gradle आवरण का उपयोग कर:

./gradlew assembleDebug --debug

मैं के बारे में 5 मिनट के बाद निम्नलिखित हो:

14:30:15.245 [INFO] [org.gradle.api.Project] processing scala/collection/SeqViewLike$$anon$5.class... 
14:30:53.132 [INFO] [org.gradle.api.Project] processing scala/collection/SeqViewLike$$anon$6.class... 
14:33:51.027 [ERROR] [org.gradle.api.Project] 
14:33:51.028 [ERROR] [org.gradle.api.Project] UNEXPECTED TOP-LEVEL ERROR: 
14:33:51.028 [ERROR] [org.gradle.api.Project] java.lang.OutOfMemoryError: Java heap space 
14:33:51.028 [ERROR] [org.gradle.api.Project] at java.util.HashMap.<init>(HashMap.java:209) 
14:33:51.029 [ERROR] [org.gradle.api.Project] at com.android.dx.ssa.LocalVariableInfo.<init>(LocalVariableInfo.java:66) 
14:33:51.029 [ERROR] [org.gradle.api.Project] at com.android.dx.ssa.LocalVariableExtractor.<init>(LocalVariableExtractor.java:72) 
14:33:51.029 [ERROR] [org.gradle.api.Project] at com.android.dx.ssa.LocalVariableExtractor.extract(LocalVariableExtractor.java:54) 
14:33:51.029 [ERROR] [org.gradle.api.Project] at com.android.dx.ssa.SsaConverter.convertToSsaMethod(SsaConverter.java:49) 
14:33:51.030 [ERROR] [org.gradle.api.Project] at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:98) 
14:33:51.030 [ERROR] [org.gradle.api.Project] at com.android.dx.ssa.Optimizer.optimize(Optimizer.java:72) 
14:33:51.030 [ERROR] [org.gradle.api.Project] at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:303) 
14:33:51.030 [ERROR] [org.gradle.api.Project] at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:139) 
14:33:51.031 [ERROR] [org.gradle.api.Project] at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:94) 
14:33:51.031 [ERROR] [org.gradle.api.Project] at com.android.dx.command.dexer.Main.processClass(Main.java:682) 
14:33:51.031 [ERROR] [org.gradle.api.Project] at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634) 
14:33:51.031 [ERROR] [org.gradle.api.Project] at com.android.dx.command.dexer.Main.access$600(Main.java:78) 
14:33:51.032 [ERROR] [org.gradle.api.Project] at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572) 
14:33:51.032 [ERROR] [org.gradle.api.Project] at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284) 
14:33:51.032 [ERROR] [org.gradle.api.Project] at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166) 
14:33:51.034 [ERROR] [org.gradle.api.Project] at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144) 
14:33:51.034 [ERROR] [org.gradle.api.Project] at com.android.dx.command.dexer.Main.processOne(Main.java:596) 
14:33:51.034 [ERROR] [org.gradle.api.Project] at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498) 
14:33:51.034 [ERROR] [org.gradle.api.Project] at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264) 
14:33:51.035 [ERROR] [org.gradle.api.Project] at com.android.dx.command.dexer.Main.run(Main.java:230) 
14:33:51.035 [ERROR] [org.gradle.api.Project] at com.android.dx.command.dexer.Main.main(Main.java:199) 
14:33:51.035 [ERROR] [org.gradle.api.Project] at com.android.dx.command.Main.main(Main.java:103) 

मैं Scala 2.9.3 उपयोग कर रहा हूँ, लेकिन एक ही अनुभव 2.10.x के साथ समस्या।

यहां मेरा build.gradle है।

buildscript { 
    repositories { 
     mavenCentral() 
    } 
    dependencies { 
     classpath 'com.android.tools.build:gradle:0.6.+' 
    } 
} 

apply plugin: 'android' 

repositories { 
    mavenCentral() 
} 

android { 
    compileSdkVersion 19 
    buildToolsVersion "19.0.0" 

    defaultConfig { 
     minSdkVersion 7 
     targetSdkVersion 19 
    } 
} 

dependencies { 
    compile 'com.android.support:appcompat-v7:+' 

    // Scala. 
    compile 'org.scala-lang:scala-library:2.9.3', 
      'org.scala-lang:scala-compiler:2.9.3' 
} 

क्या कोई भी ग्रैडल + स्कैला के साथ एक एंड्रॉइड प्रोजेक्ट को सफलतापूर्वक संकलित कर रहा है।

धन्यवाद!

+0

यहां एक नमूना प्रोजेक्ट है जो मैंने पाया है कि शायद कुछ लोगों की मदद से। https://github.com/yareally/android-scala-intellij-no-sbt-plugin – vaughan

+1

आप अभी भी इंटेलिज + स्कैला + एंड्रॉइड (गैर ग्रैडल) प्रोजेक्ट बना सकते हैं। बस स्कैला विशिष्ट प्रोजेवार्ड फ़ाइल जोड़ें और आप जाने के लिए अच्छे हैं। –

+0

धन्यवाद दोस्त। सोचो मैं इस दृष्टिकोण को जा सकता हूं। हालांकि गड़बड़ मजेदार लग रहा था। – vaughan

उत्तर

0

ऐसा लगता है कि आप एक संपूर्ण स्कैला लाइब्रेरी को डीएक्स करने की कोशिश कर रहे हैं। आपके पास 2 विकल्प हैं:

  1. ढेर आकार बढ़ाने की कोशिश करें। आप this group में इसे कैसे पढ़ सकते हैं पढ़ सकते हैं। हालांकि यह बिल्ड समय के मुद्दों को हल नहीं करेगा।
  2. वास्तविक डीक्सिंग से पहले प्रोगार्ड का उपयोग करने का प्रयास करें।
संबंधित मुद्दे