Android Studio JAR-файл, вызывающий превышение предельных значений GC overhead

Я использую Android Studio на OS X. Я получаю это сообщение об ошибке:

FAILURE: Сбой сборки с исключением.

  • Что пошло не так: выполнение завершилось неудачно для задачи: app: preDexDebug. Com.android.ide.common.internal.LoggedErrorException: Не удалось запустить команду: / Приложения / 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 – это не так, и все остальное выглядит хорошо.

Solutions Collecting From Web of "Android Studio JAR-файл, вызывающий превышение предельных значений GC overhead"

Я думаю, что есть отдельный способ повысить предел кучи операции dexing. Добавьте это к закрытию android в файле build.gradle :

 dexOptions { javaMaxHeapSize "4g" } 

И посмотреть, поможет ли это.

(Идея любезно предоставлена этим ответом Скотта Барты )

В моем случае увеличение размера кучи выглядит следующим образом:

Использование Android Studio 1.1.0

 android { dexOptions { incremental true javaMaxHeapSize "2048M" } } 

Поместите вышеуказанный код в файл Build.gradle .

Эта новая проблема вызвана последней версией Android.

Перейдите в корневую папку проекта, откройте gradle.properties и добавьте следующие параметры:

 org.gradle.daemon=true org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryError -Dfile.encoding=UTF-8 org.gradle.parallel=true org.gradle.configureondemand=true 

Затем добавьте эти изменения в файл build.gradle :

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

Я отключил мой Instant Run:

Предпочтение меню → СборкаМгновенный запуск «Включить мгновенный запуск до« горячей замены »»

Я предполагаю, что это мгновенный запуск, который делает сборку медленной и создает файл pidXXX.hprof большого размера, который приводит к превышению верхнего предела AndroidStudio gc.

(Мое устройство SDK равно 19.)

Я принудительно закрыл все Java.exe из taskmanger, перезапустил Android Studio, и это сработало для меня

Введите описание изображения здесь