J'utilise Android Studio sur OS X. Je reçois ce message d'erreur:
ÉCHEC: la construction a échoué avec une exception.
Problème: l'exécution a échoué pour la tâche ': app: preDexDebug'. com.android.ide.common.internal.LoggedErrorException: échec de l'exécution de la commande: / 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
Code d'erreur: 3 Sortie:
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)
J'utilise cette bibliothèque:
http://grepcode.com/snapshot/repository.grepcode.com/java/ext/com.google.android/android/4.3_r2.1/
J'ai tiré le fichier JAR et l'ai ajouté à mon projet - le projet que j'essaye de construire est:
https://github.com/domi007/silentSMS/
Je comprends que c'est parce que mes valeurs xms et xmx sont trop faibles. Je les ai augmentés en:
/ Applications / Android Studio.app/bin/idea.vmoptions pour qu'il indique maintenant:
-Xms256m
-Xmx1024m
Cependant, je reçois toujours l'erreur. Par quoi cela pourrait-il être causé? À part que l'app silentSMS est un projet Eclipse et que je porte le code sur Android Studio, je n'ai rien changé. En termes d'erreurs de repérage d'Android Studio - ce n'est pas le cas, et tout le reste semble bien.
4g
est un peu exagéré, ça2g
vaOutOfMemoryError
org.gradle.jvmargs=-XX:MaxPermSize=1024m -Xms1024m -Xmx4096m -XX:ReservedCodeCacheSize=1024m
Dans mon cas, pour augmenter la taille du tas, cela ressemble à ceci:
Utilisation d'Android Studio 1.1.0
Mettez le code ci-dessus dans votre fichier Build.gradle .
la source
GC overhead limit exceeded
après avoir activé Multidexing. L'exception était dansat com.android.dx.command.dexer.Main.runMultiDex(Main.java:334)
at com.android.dx.util.FixedSizeList.<init>(FixedSizeList.java:38)
et le sommet de la pile étaitcom.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
: cela a de nombreuses limites et peut ne pas fonctionner. Utilisez avec précaution.Ce nouveau problème est dû à la dernière version d'Android.
Accédez au dossier racine de votre projet, ouvrez
gradle.properties
-le et ajoutez les options suivantes:Ajoutez ensuite ces modifications dans votre
build.gradle
fichier:la source
android.dexOptions.incremental
propriété est obsolète et n'a aucun effet sur le processus de génération.incremental
est supprimé fin 2018Je désactive mon exécution instantanée par:
Préférence de menu → Build → Instant Run "Activer Instant Run pour le code de remplacement à chaud"
Je suppose que c'est l'exécution instantanée qui rend la construction lente et crée un fichier pidXXX.hprof de grande taille qui provoque le dépassement de la limite de surcharge d'AndroidStudio gc.
(Le SDK de mon appareil est 19.)
la source
Android Studio 3.5.3
Trouvez les paramètres de mémoire (Cmd + Shift + A sur Mac ou cliquez sur Aide et commencez à taper "Paramètres de mémoire") sous Préférences / Paramètres et augmentez la taille de tas IDE et / ou la taille de tas de démon à votre satisfaction
la source
Ajoutez ceci au fichier build.gradle
la source
J'ai forcé la fermeture de tous les fichiers Java.exe du gestionnaire de tâches, redémarré Android Studio et cela a fonctionné pour moi
la source
Pour moi, aucune des réponses n'a fonctionné que j'ai vu ici. J'ai deviné que le fait de faire travailler le processeur extrêmement dur rend l'ordinateur chaud. Après avoir fermé les programmes qui consomment de grandes quantités de CPU (comme le chrome) et refroidir mon ordinateur portable, le problème a disparu.
Pour référence: j'avais le CPU sur 96% -97% et l'utilisation de la mémoire de plus de 2 000 000 K par un processus java.exe (qui était en fait un processus lié à gradle).
la source
J'utilise
Android Studio 3.4
et la seule chose qui a fonctionné pour moi a été de supprimer les lignes suivantes de monbuild.gradle
fichier:Parce qu'il
Android Studio 3.4
utiliseR8
dansfull mode
et n'est pas directement compatible avecProguard
la source
minifyEnabled true
configuration avec pro-guard alors que gradle-5.1.1 avait des problèmes similaires../gradlew wrapper --gradle-version=5.2.1
dans mon cas, je modifie mon
gradle.properties
:note: si vous activez
minifyEnabled true
:supprimer cette ligne:
et ajoutez ces lignes dans ur
build.gradle
,android
block:j'espère que cela aide quelqu'un :)
la source
4g est un peu exagéré, si vous ne voulez pas changer buildGradle, vous pouvez utiliser FILE -> Caches / restart invalides.
Ça marche bien pour moi ...
la source
À un moment donné, une copie en double de a
apply plugin: 'com.android.application'
été ajoutée à ma version de build. Supprimer la copie en double et m'assurer que tous mes plugins d'application étaient au sommet a résolu le problème pour moi.la source