Estou usando o Android Studio no OS X. Estou recebendo esta mensagem de erro:
FALHA: Falha na compilação com uma exceção.
O que deu errado: Falha na execução da tarefa ': app: preDexDebug'. com.android.ide.common.internal.LoggedErrorException: falha ao executar o comando: / Applications / Android Studio.app/sdk/build-tools/android-4.4W/dx --dex --output / Usuários / alex / AndroidStudioProjects / SilentSMS / app / build / intermediates / pré-dexed / debug / android-4.3_r2.1-f22bbff4d1017230e169a4844a9c2195f13060d2.jar /Users/alex/AndroidStudioProjects/SilentSMS/app/libs/android-4.3_r2.1.jar
Código de erro: 3 Saída:
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)
Estou usando esta biblioteca:
http://grepcode.com/snapshot/repository.grepcode.com/java/ext/com.google.android/android/4.3_r2.1/
Puxei o arquivo JAR e o adicionei ao meu projeto - o projeto que estou tentando criar é:
https://github.com/domi007/silentSMS/
Entendo que é porque meus valores xms e xmx são muito baixos. Aumentei-os em:
/ Applications / Android Studio.app/bin/idea.vmoptions, para que agora diga:
-Xms256m
-Xmx1024m
No entanto, ainda recebo o erro. O que isso poderia ser causado? Além do aplicativo silentSMS ser um projeto Eclipse e de eu portar o código no Android Studio, não mudei nada. Em termos de erros de localização do Android Studio - isso não acontece, e tudo o resto parece bem.
4g
é um pouco exagerado,2g
tudo bem #OutOfMemoryError
org.gradle.jvmargs=-XX:MaxPermSize=1024m -Xms1024m -Xmx4096m -XX:ReservedCodeCacheSize=1024m
No meu caso, aumentar o tamanho da pilha é assim:
Usando o Android Studio 1.1.0
Coloque o código acima no seu arquivo Build.gradle .
fonte
GC overhead limit exceeded
depois que eu ativei o Multidexing. A exceção foi emat com.android.dx.command.dexer.Main.runMultiDex(Main.java:334)
at com.android.dx.util.FixedSizeList.<init>(FixedSizeList.java:38)
topo da pilha ecom.android.dx.command.dexer.Main.runMultiDex(Main.java:334) at com.android.dx.command.dexer.Main.run(Main.java:244) at com.android.dx.command.dexer.Main.main(Main.java:215) at com.android.dx.command.Main.main(Main.java:106)
incremental
: isso tem muitas limitações e pode não funcionar. Use com cuidado.Esse novo problema é causado pela versão mais recente do Android.
Vá para a pasta raiz do projeto, abra
gradle.properties
e adicione as seguintes opções:Em seguida, adicione estas alterações no seu
build.gradle
arquivo:fonte
android.dexOptions.incremental
propriedade está obsoleta e não tem efeito no processo de construção.incremental
é eliminada no final de 2018Desativei o Instant Run por:
Preferências do Menu → Criar → Execução Instantânea "Ativar Execução Instantânea no Código de Hot Swap"
Eu acho que é a Execução Instantânea que torna a compilação lenta e cria um arquivo pidXXX.hprof de tamanho grande que faz com que o limite de sobrecarga do AndroidStudio gc seja excedido.
(O SDK do meu dispositivo é 19.)
fonte
Android Studio 3.5.3
Encontre as configurações de memória (Cmd + Shift + A no Mac ou clique em Ajuda e comece a digitar "Configurações de memória") em Preferências / Configurações e aumente o tamanho da pilha de IDE e / ou o tamanho da pilha de Daemon.
fonte
Adicione isso ao arquivo build.gradle
fonte
Eu forcei fechado todo o Java.exe do taskmanger, reiniciei o Android Studio e funcionou para mim
fonte
Para mim, nenhuma das respostas trabalhadas que vi aqui funcionou. Imaginei que ter a CPU trabalhando extremamente duro aquece o computador. Depois que fechei programas que consomem grandes quantidades de CPU (como o chrome) e esfriaram meu laptop, o problema desapareceu.
Para referência: eu tinha a CPU em 96% a 97% e o uso de memória acima de 2.000.000 K por um processo java.exe (que na verdade era um processo relacionado ao gradle).
fonte
Estou usando
Android Studio 3.4
e a única coisa que funcionou para mim foi remover as seguintes linhas do meubuild.gradle
arquivo:Porque
Android Studio 3.4
é usandoR8
emfull mode
e não é direta compatível comProguard
fonte
minifyEnabled true
configuração pro-guard enquanto o gradle-5.1.1 estava tendo problemas semelhantes../gradlew wrapper --gradle-version=5.2.1
no meu caso, edito meu
gradle.properties
:nota: se você ativar
minifyEnabled true
:remova esta linha:
e adicione estas linhas em ur
build.gradle
,android
bloqueie:espero que isso ajude alguém :)
fonte
4G é um pouco exagerado, se você não quiser alterar o buildGradle, poderá usar FILE -> caches / reinícios inválidos.
Isso funciona bem para mim ...
fonte
Em algum momento, uma cópia duplicada
apply plugin: 'com.android.application'
foi adicionada ao meu programa de compilação. Remover a cópia duplicada e verificar se todos os meus plugins de aplicação estavam na parte superior corrigiram o problema para mim.fonte