J'obtiens l'erreur suivante depuis la mise à jour du studio Android de 2.0 à 2.1.
Erreur: erreur lors de la conversion du bytecode en dex:
Cause: Dex ne peut pas analyser le code de la version 52 octets. Cela est dû aux dépendances de bibliothèque qui ont été compilées à l'aide de Java 8 ou supérieur. Si vous utilisez le plugin gradle 'Java' dans un sous-module de bibliothèque, ajoutez targetCompatibility = '1.7' sourceCompatibility = '1.7' dans le fichier build.gradle de ce sous-module.
J'ai essayé d'ajouter l'extrait de code suivant dans build.gradle, mais le problème persiste
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
J'ai vu certaines des questions similaires à cela, mais aucune des questions n'a répondu. Quelqu'un peut-il m'aider à résoudre ce problème? Merci d'avance.
Essayer
allprojects {
tasks.withType(JavaCompile) {
sourceCompatibility = "1.7"
targetCompatibility = "1.7"
}
}
en général build.gradle
fichier
Supprimez les dépendances de build.gradle, commentez le code pertinent, puis compilez et nettoyez votre projet.
Après un nettoyage réussi, ajoutez à nouveau les dépendances et décommentez ce que vous avez commenté après avoir supprimé les dépendances plus tôt.
Copie possible de Android: Dex ne peut pas analyser le code de la version 52 octets . La réponse la plus citée a résolu le problème pour moi.
J'ai ajouté compileOptions et jackOptions comme indiqué ci-dessous à mon build.gradle pour utiliser JDK 1.8.
Android {
...
defaultConfig {
...
jackOptions {
enabled true
}
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_8
targetCompatibility JavaVersion.VERSION_1_8
}
}