J'essaie de compiler mon projet Android et j'obtiens cette erreur
[INFO] Exception in thread "main" Java.lang.UnsupportedClassVersionError: com/Android/dx/command/Main : Unsupported major.minor version 52.0
[INFO] at Java.lang.ClassLoader.defineClass1(Native Method)
[INFO] at Java.lang.ClassLoader.defineClass(ClassLoader.Java:800)
[INFO] at Java.security.SecureClassLoader.defineClass(SecureClassLoader.Java:142)
[INFO] at Java.net.URLClassLoader.defineClass(URLClassLoader.Java:449)
[INFO] at Java.net.URLClassLoader.access$100(URLClassLoader.Java:71)
[INFO] at Java.net.URLClassLoader$1.run(URLClassLoader.Java:361)
[INFO] at Java.net.URLClassLoader$1.run(URLClassLoader.Java:355)
[INFO] at Java.security.AccessController.doPrivileged(Native Method)
[INFO] at Java.net.URLClassLoader.findClass(URLClassLoader.Java:354)
[INFO] at Java.lang.ClassLoader.loadClass(ClassLoader.Java:425)
[INFO] at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:308)
[INFO] at Java.lang.ClassLoader.loadClass(ClassLoader.Java:358)
[INFO] at Sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.Java:482)
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
J'ai lu dans un autre article qui tente de compiler avec Java 8 pourrait causer cette erreur mais pas mon cas, j'ai la version Java suivante:
Java version "1.7.0_79"
OpenJDK Runtime Environment (IcedTea 2.5.5) (7u79-2.5.5-0ubuntu0.14.04.2)
OpenJDK 64-Bit Server VM (build 24.79-b02, mixed mode)
Système d'exploitation: Linux Mint (je n'ai pas installé Java 8.) Build: MAVEN
Est-ce que quelqu'un peut m'aider avec ça?
Je fais également face à ce problème lorsque je crée un nouveau projet à partir du studio Android.
J'ai pu résoudre ce problème en rétrogradant buildToolsVersion dans le paramètre de gradation d'application: changez {module-name} /build.gradle line
buildToolsVersion "24.0.0 rc1"
à
buildToolsVersion "23.0.3"
@Modifier:
Dans Android Studio 2.1 Cliquez sur Fichier-> Structure du projet-> Application -> Version de l'outil de génération. Changez-le en 23.0.3
Suivez la méthode ci-dessus, uniquement lorsque vous utilisez Java version 7 et que, pour une raison quelconque, vous ne souhaitez pas encore effectuer la mise à niveau vers Java 8.
J'espère que cela t'aides
Gradle Scripts >> build.gradle (application du module)
Remplacez buildToolsVersion "24.0.0" par buildToolsVersion "23.0.3"
source: expérience
Initialement, j'avais rétrogradé buildToolsVersion
de 24.0.0 rc3
à 23.0.3
, comme indiqué dans la réponse de Rudy Kurniawan. Ensuite, j'ai remarqué que jdk 7 est spécifié dans les paramètres de mon projet. Je l'ai changé en jdk 8 et je construis maintenant des outils 24.0.0 rc3
travail.
Il est également important de définir les options de compilation sur Java7
:
Android {
...
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
J'ai installé Android Studio aux côtés de Xamarin Visual Studio (était déjà installé). Après l'installation (SDK exclu, car ils étaient déjà installés), j'ai lancé Android Studio et il a téléchargé, installé et ajouté des SDK manquants (après avoir indiqué le chemin d'accès à l'emplacement du SDK). En conséquence, j'ai reçu le message d'erreur sur la construction
Java.lang.UnsupportedClassVersionError: com/Android/dx/commande/Main: version majeure non prise en charge 52.0
En tant que solution, j'ai installé jdk-8u101-windows-i586.exe
sans JRE (car il était déjà installé). Avant, j’avais essayé la version x64, mais elle a disparu ... Ensuite, vous devez changer le emplacement du Java Development Kit .
Pour ce faire, dans Visual Studio, cliquez sur Outils> Options> Xamarin> Android Paramètres. Ici, vous pouvez naviguer au bon endroit. Dans mon cas c'était C:\Program Files (x86)\Java\jdk1.8.0_101
.
Enfin, nettoyez votre projet et faites une nouvelle construction :-)
Le problème spécifié:
Exception dans le fil "principal" Java.lang.UnsupportedClassVersionError: com/Android/dx/command/Main: version majeure.minor non prise en charge 52.
est causé quand est déclaré à l'intérieur du build.gradle
, buildToolsVersion 24
et que nous n'avons pas Java 8 installé requis pour cette version . Pour résoudre ce problème, nous devons passer de buildToolsVersion
de 24 à maximum 23:
Java 8 doit être requis à l'avenir pour Android Studio
, nous devons donc commencer à utiliser Java 8.
J'ai eu le même problème avec ma version IntelliJ Maven. Ma "solution" était d'aller dans les outils de construction et de supprimer le dossier 24.0.0 des outils de construction. Je l'ai trouvé dans le répertoire {Android-sdk-location}/build-tools/
. Ce n'est pas une solution à long terme, mais cela devrait au moins permettre à votre projet de se reconstruire. La mise à niveau vers Java 8 comme beaucoup l'ont suggéré sera meilleure à long terme.
Ce que personne ne dit ici, c'est qu'avec Build Tools 24.0.0, Java 8 est requis et que la plupart des utilisateurs disposent de la version 1.6 ou 1.7.
Alors oui, définir l'outil de génération sur 23.x.x "résoudrait" le problème, mais la cause fondamentale en serait la version Java de votre système.
Sur le long terme, vous voudrez peut-être mettre à niveau votre environnement de développement pour qu'il utilise JDK8 afin de tirer parti des améliorations apportées au langage et du compilateur jack.
52 est le code de JDK 8. Vous pouvez le voir ici: http://javarevisited.blogspot.com/2015/05/ fixant-unsupported-majorminor-version.html . Gradle s'attend donc à ce que vous ayez JDK 8 comme version Java par défaut sur votre ordinateur. Les dernières versions de Gradle pour Android ne fonctionneront pas avec Java 7.
La solution est simple: indiquez Java 8 la version par défaut de jdk sur votre ordinateur.
Je suis sur Android Studio 2.0 et je suis confronté au même problème. La solution fournie par Rudy Kurniawan a réglé ce problème. Le fichier affecté peut être localisé par:
"Projet" -> "Android" -> "Gradle Scripts" -> "build.gradle (Module: app)"
Le volet "Projet" est celui par défaut à gauche. Pour le trouver, examinez le nom des onglets latéraux, cliquez dessus, puis utilisez la liste déroulante du haut pour accéder à "Android". Développez l'arborescence dans le volet pour rechercher le fichier cible. Double-cliquez dessus pour le modifier.
Désolé pour la réponse tardive. J'espère que cela aidera quelqu'un d'autre
Ce problème est lié à votre SDK, pas à votre JDK. Vous pouvez vérifier vos informations de version à partir de
Aide> À propos de> Afficher les détails
Vous obtiendrez quelque chose comme
Xamarin.Android Version: 6.0.2.1 (Édition Starter) Android SDK: X:\Android\android-sdk
Android versions prises en charge:
4.0.3 (API niveau 15)
4.4 (niveau API 19)
6.0 (niveau API 23)
Outils du SDK Version: 24.4.1
SDK Platform Tools Version: 23.0.1
Outils de compilation SDK Version: 24 rc2
Kit de développement logiciel Java: X:\Program Files (x86)\Java\jdk1.7.0_71
Version Java "1.7.0_71"
Environnement d'exécution Java SE (version 1.7.0_71-b14)
Client Java HotSpot (TM) VM (version 24.71-b01, mode mixte, partage)
Si vous utilisez des outils de prévisualisation pour la construction, vous obtiendrez des erreurs similaires partout.
Que faire maintenant?
aller à
Outils -> Gestionnaire de SDK
Sélectionnez tous les éléments dans les canaux d'aperçu, y compris Android SDK build tools
avec rev 24rc2
ou 24rc4
(dernière).
Cliquez sur Delete 'n' packages
Comment désactiver le canal de prévisualisation
Dans le gestionnaire de SDK, sélectionnez
Outils> options
Décocher Enable preview tools
et quoi
Retour à votre code Nettoyer tout et reconstruire (Dans de rares cas, vous sélectionner les outils de construction à partir de la page des paramètres du projet)
J'ai également rencontré ce problème lors de la création d'un nouveau projet dans Eclipse.
Modifier
Dosgi.requiredJavaVersion=1.6
à
Dosgi.requiredJavaVersion=1.7
J'espère que cela t'aides
Obtenir ce message d'erreur sur le serveur de construction Travis?
J'ai corrigé mon travis build avec buildToolsVersion "24.0.2" en utilisant ceci
# travis build
language: Android
jdk:
- oraclejdk8
Android:
components:
- tools
- build-tools-24.0.2
- Android-23
- add-on
- extra
script:
- jdk_switcher use oraclejdk8
- ./gradlew assemble
Dans mon cas, le jdk par défaut était 1.7 puis je l’ai changé en 1.8 en allant dans le dossier exact où se trouve le jdk mis à jour.
Merci à tous pour la solution.
Je pourrais résoudre le même problème en utilisant la solution ci-dessous.
Dans mon projet, j'ai ajouté des fichiers jar créés en Java8. Et mon projet faisait référence à JRE 7. Quand j'ai changé le projet JRE en 8. Mon problème a été résolu.
Étapes: Dans Eclipse, cliquez avec le bouton droit de la souris sur le nom du projet dans l'explorateur de projets> chemin de construction> Bibliothèques> cliquez sur la version de jre> cliquez sur éditer> JRE installé> ajouter> standerd VM> sélectionnez le chemin de clic principal de JRE (chemin être localPath\Java\jdk1.8.0_25\jre)> indiquez nom> enregistrer> sélectionnez le même JRE pour le projet> terminer> ok Actualisez/générez le projet une fois> essayez d'exécuter votre fichier Java. ça devrait marcher.
Vos outils de construction Android ne sont pas correctement installés. Essayez d’installer une autre version des outils de compilation et indiquez cette version dans le fichier Gradle. ou vous pouvez aller dans ce répertoire
C:\Utilisateurs \\ AppData\Local\Android\sdk\build-tools
et voir quels outils de construction sont installés. Essayez de changer la version de l'outil de génération dans le fichier Gradle et compilez l'application pour voir si elle fonctionne.
j'avais les versions 22.0.1,23.0.02 et 24.0.0 des outils de compilation et seule l'ancienne version 22.0.1 fonctionnait.
source: j'ai essayé moi-même et cela a fonctionné pour moi.
Ce problème provient du fait que la version de votre outil de génération et le JDK ne fonctionneront pas ensemble. J'utilisais JDK version 7 avec l'outil de compilation 24.0.1. Bien entendu, le fait d'abaisser la version de l'outil de génération peut résoudre le problème, mais ce n'est pas une vraie solution, car la mise à niveau future de vos outils de génération le corrigera.
Vous devez vous assurer que la version de l'outil de génération et le JDK fonctionnent ensemble. J'ai mis à niveau mon outil de génération vers la dernière version (24.0.1) et installé jdk8. Assurez-vous de définir Java_HOME sur la plus récente, puis essayez la nouvelle génération.
J'ai eu le même problème et essayé de changer la version, parfois c'est pour la version de Android Studio dans Projet> Scripts Gradle> build.gradle (Module: app), vous pouvez changer la version. Par exemple:
Android {
compileSdkVersion **23**
buildToolsVersion **"23.0.3"**
defaultConfig {
applicationId "com.example.Android.myapplication"
minSdkVersion **19**
targetSdkVersion **23**
versionCode **1**
versionName **"1.0"**
}
Vous rencontrez le même problème en dehors de Android Studio lorsque vous essayez de construire pour Cordova à l'aide du sdk à partir de la ligne de commande (Cordova build Android).
La solution fournie par Rudy fonctionne également dans ce cas. Vous ne devez tout simplement pas déclasser la version de Build Tools de Android Studio, mais vous le faites à l'aide de Android sdk manager ui.
De this question.
Vous pouvez essayer de ramener votre niveau de compilateur à 1.7 dans le IDE que vous utilisez.
Si vous êtes sur Android Studio, vous pouvez l'ajouter à votre build.gradle.
Android {
compileSdkVersion 19
buildToolsVersion "19.0.0"
defaultConfig {
minSdkVersion 7
targetSdkVersion 19
}
compileOptions {
sourceCompatibility JavaVersion.VERSION_1_7
targetCompatibility JavaVersion.VERSION_1_7
}
}
Si cela ne vous aide pas, essayez de vérifier la réponse de l'autre dans le lien mentionné ci-dessus et dites-nous ce qui vous a aidé.
La solution la plus simple consiste à mettre à jour votre JDK avec la dernière version. Parce que Cordova ne prend en charge que le dernier JDK.
1 . Tout d'abord, vous devez mettre à jour votre SDK Android. Ensuite,
2. Si vous ne pouvez pas mettre à jour via votre terminal, allez à votre Centre de logiciels de Linux destro et recherchez la dernière (celle que vous voulez installer) et installez-la.
Puis à nouveau lancez Cordova build.
Cela résoudra le problème.
Dans mon cas cela a fonctionné.
unsupported-major-minor-version peut provenir d'une version de JDK non prise en charge. Mettez à jour le JDK, allez dans Paramètres du module et modifiez le chemin du JDK par le nouveau. Dans la plupart des cas, cela corrige l'erreur.
Je viens de rencontrer ce problème.
La restauration de la version "Aperçu du canal" des outils du SDK et de la génération d’outils vers la dernière version stable a résolu le problème.
Changer com.Android.tools.build:gradle:2.2.0-beta1
en com.Android.tools.build:gradle:2.1.2
le corrigea pour moi.
Ma version Android Studio est la version 2.1.2, c'est peut-être pour cette raison
J'avais eu ce problème depuis trop longtemps (SO, etc. n'avait pas aidé) et je l'ai juste résolu (en utilisant SDK 25).
-Le fichier local.properties proguard.dir var ne s'appliquait pas avec ant; J'avais spécifié 5.3.2, mais un appel en ligne de commande et une construction d'exportation signée (Eclipse) utilisait 4.7, à partir du répertoire sdk (seuls 5+ prennent en charge Java 8)
Ma solution consistait à remplacer les fichiers jar de proguard (répertoire Android-sdk/tools/proguard/libs) du sdk par une version actuelle (à partir de 5 ans) de proguard.
Vérifiez que vous disposez de la dernière version du SDK installée dans C:\Program Files\Java
ou C:\Program Files (x86)\Java
.
Ensuite, allez à VS2015 et suivez les outils de chemin - options - Xamarin - Android paramètres et dans la section Emplacement du JDK, sélectionnez Changer et allez à la version x64 ou x32.
Je suis sur Cordova, voici ce que j'ai fait:
- renommez votre projet Android afin qu'il reste de la place pour le nouveau
- met à jour Java Kit de développement à la version 1.8 (la dernière en date a été écrite)
- lancez cordova platform add Android
Devrait fonctionner sans problèmes maintenant. Votre hachage d'application va changer, donc si vous l'utilisez p.e. pour vous connecter à facbeook, vous devrez le mettre à jour