Mauvais compilateur Java lors de l'inclusion d'un module Java en tant que dépendance dans Android Studio
J'ai un module java dans mon Android Studio projet qui est une dépendance d'un Android module. J'ai de la difficulté à construire avec l'exception suivante figurant.
Error:Execution failed for task ':myApplication:preDexDebug'.
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
/Applications/Android Studio.app/sdk/build-tools/android-4.4W/dx --dex --output ~/myapplication-app-android/dev/biketracks-app-android/bikeTracks/build/intermediates/pre-dexed/debug/coreUtilities-6ee7e0aafa5a6db72b2acb078f065e51c43124c2.jar ~/myapplication-app-android/dev/myapplication-app-android/libs/coreUtilities/build/libs/coreUtilities.jar
Error Code:
1
Output:
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
at com.android.dx.command.dexer.Main.processClass(Main.java:665)
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)
...while parsing com/corecoders/coreutilities/GPSUtils.class
1 error; aborting
Après un peu de lecture, je peux voir que c'est quelque chose à voir avec le compilateur Java Android Studio est à l'aide. Cependant, je ne peut pas voir un moyen de changer le compilateur qu'il utilise.
Le module Java je suis en train de les inclure dans mon Android module est un que j'ai créé à l'aide de Android Studio en allant Fichier > Nouveau Module > Module Java donc je ne peux pas voir n'importe quelle option j'ai pu faire de différent?
Des idées serait génial.
source d'informationauteur StuStirling
Vous devez vous connecter pour publier un commentaire.
J'ai donc trouvé la solution à ce post de blog.
L'astuce est dans votre Bibliothèque Java module de construire.gradle fichier que vous devez inclure les éléments suivants.
Ce sera ensuite le travail.
Semble que les choses ont changé sur les nouvelles versions de Gradle /Android Studio, de sorte que la solution ci-dessus sur la sélection de la source de compatibilité seule peut ne pas suffire. En particulier pour les projets complexes qui ont une combinaison de modules qui s'appliquent plus que la simple android plugin ( j'ai vu la suite de trois plugins utilisés sur les modules d'un même projet: 'android' , 'java' et 'android library")
Vous devez vous assurer que les choses suivantes sont satisfaites si la source de compatibilité ne suffisent pas à résoudre votre problème.
1) Pour vous des modules qui s'appliquent plugin: 'android' sélectionnez la compatibilité de la source à l'intérieur de votre build.gradle:
2) Sélectionnez le Projet de Byte code version: Fichier -> Autres Paramètres -> paramètres par Défaut.
3) sélectionner Explicitement le JDK de l'environnement: Fichier -> Structure de Projet -> emplacement du SDK et de lui le JDK 7 dossier.
--Mise à jour: avec le nouveau Android Studio 1.2.x ils ont changé l'emplacement où vous pouvez sélectionner le byteCode Java version à la suivante: Fichier->Autres Paramètres->Paramètres par Défaut->Build , les Exécutions Enviromnent-> Compilateur.