Android Studio谷歌JAR文件导致GC超时限制错误

217

我正在使用OS X上的Android Studio,遇到以下错误信息:

构建失败。

  • 出现了什么问题: 任务':app:preDexDebug'执行失败。 com.android.ide.common.internal.LoggedErrorException:运行命令失败: /Applications/Android Studio.app/sdk/build-tools/android-4.4W/dx --dex --output /Users/alex/AndroidStudioProjects/SilentSMS/app/build/intermediates/pre-dexed/debug/android-4.3_r2.1-f22bbff4d1017230e169a4844a9c2195f13060d2.jar /Users/alex/AndroidStudioProjects/SilentSMS/app/libs/android-4.3_r2.1.jar

    错误代码:3 输出:

  UNEXPECTED TOP-LEVEL ERROR:
  java.lang.OutOfMemoryError: GC overhead limit exceeded
      at com.android.dx.cf.code.RopperMachine.getSources(RopperMachine.java:665)
      at com.android.dx.cf.code.RopperMachine.run(RopperMachine.java:288)
      at com.android.dx.cf.code.Simulator$SimVisitor.visitLocal(Simulator.java:612)
      at com.android.dx.cf.code.BytecodeArray.parseInstruction(BytecodeArray.java:412)
      at com.android.dx.cf.code.Simulator.simulate(Simulator.java:94)
      at com.android.dx.cf.code.Ropper.processBlock(Ropper.java:782)
      at com.android.dx.cf.code.Ropper.doit(Ropper.java:737)
      at com.android.dx.cf.code.Ropper.convert(Ropper.java:346)
      at com.android.dx.dex.cf.CfTranslator.processMethods(CfTranslator.java:282)
      at com.android.dx.dex.cf.CfTranslator.translate0(CfTranslator.java:139)
      at com.android.dx.dex.cf.CfTranslator.translate(CfTranslator.java:94)
      at com.android.dx.command.dexer.Main.processClass(Main.java:682)
      at com.android.dx.command.dexer.Main.processFileBytes(Main.java:634)
      at com.android.dx.command.dexer.Main.access$600(Main.java:78)
      at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:572)
      at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
      at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
      at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
      at com.android.dx.command.dexer.Main.processOne(Main.java:596)
      at com.android.dx.command.dexer.Main.processAllFiles(Main.java:498)
      at com.android.dx.command.dexer.Main.runMonoDex(Main.java:264)
      at com.android.dx.command.dexer.Main.run(Main.java:230)
      at com.android.dx.command.dexer.Main.main(Main.java:199)
      at com.android.dx.command.Main.main(Main.java:103)

我正在使用这个库:

http://grepcode.com/snapshot/repository.grepcode.com/java/ext/com.google.android/android/4.3_r2.1/

我拉取了JAR文件并将其添加到我的项目中 - 我试图构建的项目是:

https://github.com/domi007/silentSMS/

我知道这是因为我的xms和xmx值太低了。我在以下位置增加了它们:

/Applications/Android Studio.app/bin/idea.vmoptions,现在它显示为:

-Xms256m
-Xmx1024m

然而,我仍然遇到了错误。这可能是由什么原因引起的?除了silentSMS应用程序是Eclipse项目并且我将代码移植到Android Studio之外,我没有做任何修改。就Android Studio发现错误而言 - 它没有,其他一切看起来都很好。

13个回答

0
我强制关闭了任务管理器中的所有Java.exe,重新启动了Android Studio,这样就可以正常工作了。

enter image description here


0

我尝试了上面提到的所有解决方案,但问题仍然存在。 最终我偶然发现了以下方法,成功解决了这个问题。

(在MacOS上)进入“首选项” -> “内存设置” -> 查找现有的等级守护程序 -> 停止所有守护程序。


0

在我的情况下,我编辑了我的gradle.properties

注意:如果您启用了minifyEnabled true

删除这一行:

android.enableR8=true

并在您的build.gradle文件中的android块中添加以下行:

  dexOptions {
        incremental = true
        preDexLibraries = false
        javaMaxHeapSize "4g" // 2g should be also OK
    }

希望这能帮助到某个人 :)


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接