Échec de l'installation d'android-sdk: "java.lang.NoClassDefFoundError: javax / xml / bind / annotation / XmlSchema"

167

Lors de l'installation des outils android sdk, l'erreur suivante est émise:

java.lang.NoClassDefFoundError: javax / xml / bind / annotation / XmlSchema

Pourquoi cela se produit-il et comment y remédier?

Sortie de débogage:

$ java --version
java 9
Java(TM) SE Runtime Environment (build 9+181)
Java HotSpot(TM) 64-Bit Server VM (build 9+181, mixed mode)
$ brew cask install android-sdk
==> Caveats
We will install android-sdk-tools, platform-tools, and build-tools for you.
You can control android sdk packages via the sdkmanager command.
You may want to add to your profile:
  'export ANDROID_SDK_ROOT=/usr/local/share/android-sdk'

This operation may take up to 10 minutes depending on your internet connection.
Please, be patient.

==> Satisfying dependencies
==> Downloading https://dl.google.com/android/repository/sdk-tools-darwin-3859397.zip
Already downloaded: /Users/tomasnovella/Library/Caches/Homebrew/Cask/android-sdk--3859397,26.0.1.zip
==> Verifying checksum for Cask android-sdk
==> Installing Cask android-sdk
==> Exception in thread "main"
==> java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
==>     at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
==>     at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
==>     at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
==>     at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:117)
==>     at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:93)
==> Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
==>     at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
==>     at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
==>     at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
==>     ... 5 more
Error: Command failed to execute!

==> Failed command:
/usr/local/Caskroom/android-sdk/3859397,26.0.1/tools/bin/sdkmanager tools platform-tools build-tools;26.0.1

==> Standard Output of failed command:


==> Standard Error of failed command:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
    at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
    at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
    at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
    at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:117)
Novellizator
la source
Je suppose que votre question est "Qu'est-ce qui cause cette erreur?" La réponse est qu'il ne trouve pas les classes javax.xml.
Steve Smith
28
En fait, cette question pose un problème légitime lors de l'installation du sdk Android lors de l'utilisation de java9
jontro
17
J'ai ce problème, et j'ai copié / collé la première ligne de mon message d'erreur dans google, et cette question a été le premier appel qui s'est produit. Non seulement cela, l'une des réponses ci-dessous l'a résolu. Cela ne doit absolument pas être fermé: quelles que soient les règles des questions, cette question remplit manifestement l'objectif du site.
Le Mot Juiced
1
Supprimer tout ce qui est plus ancien que Java 8 de/Library/Java/JavaVirtualMachines
Dimitris
3
Le problème se produit avec Java 8 et Java 11 sur Ubuntu 18.04 à l'aide de packages openjdk-8-jdket openjdk-11-jdk. Quelqu'un sait-il pour quoi installer javax/xml/bind/annotation/XmlSchemaou comment éviter javax/xml/bind/annotation/XmlSchemadans le NDK?
jww

Réponses:

138

J'ai eu un problème similaire ce matin (en essayant de construire pour Android en utilisant Unity3D). J'ai fini par désinstaller JDK9 et installer Java SE Development Kit 8u144 . J'espère que cela t'aides.

  1. brew cask uninstall java # désinstaller java9
  2. brew tap homebrew/cask-versions
  3. brew cask install java8 # installer java8
  4. touch ~/.android/repositories.cfg # sans ce fichier, une erreur se produira à l'étape suivante
  5. brew cask install android-sdk
Spassvogel
la source
2
Vous avez l'erreur sur Windows 10, essayé ceci, ne fonctionne toujours pas. Des conseils?
Vedvart1
3
Super - cela a fonctionné pour moi en créant une application Flutter dans Android Studio. Merci!
Darragh Enright
20
Cela a cessé de fonctionner, l'installation de brew cask java8 ne fonctionne pas.
kdy
4
la commande correcte semble être maintenantbrew cask install homebrew/cask-versions/java8
caesarsol
21
brew cask install homebrew/cask-versions/adoptopenjdk8semble fonctionner
guruz
82

Pour résoudre cette erreur, vous pouvez rétrograder votre version Java.

Ou exporte l'option suivante sur votre terminal:

Linux / MAC:

export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

Windows :

set JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

Et pour l'enregistrer de manière permanente, vous pouvez exporter le JAVA_OPTSdans votre fichier de profil sur Linux ( .zshrc, .bashrcetc.) ou l'ajouter en tant que variable d'environnement de manière permanente sur Windows.


ps. Cela ne fonctionne pas pour Java 11+, qui n'a pas de modules Java EE. Pour cette option est une bonne idée, rétrograder votre version Java ou attendre une mise à jour Flutter .

Réf: JDK 11: Fin de route pour les modules Java EE

valdeci
la source
6
Cela a fonctionné pour moi dans Ubuntu 18.04 w / OpenJDK 10.0.2
rastating
3
A travaillé pour moi sur macOS Mojave (10.14.2) avec la version Java "10.0.1" 17/04/2018.
Subfuzion
4
A créé une nouvelle erreur pour moi sur macOS Mojave (10.14.2): Une erreur s'est produite lors de l'initialisation de la couche de démarrage java.lang.module.FindException: Module java.se.ee introuvable
Randy
2
J'ai également essayé 1.8.0_191, mais j'obtiens toujours: Erreur: Impossible de trouver ou de charger la classe principale java.se.ee
Randy
1
Cette option n'est pas nécessaire pour Java 8 et ne fonctionne pas pour Java 11, qui n'a pas de modules Java EE.
valdeci
64
set JAVA_OPTS=-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee

Cela a résolu le problème sur Windows pour moi.

Source 1 , source 2

Tim Jenßen
la source
2
Également utilisé sur ubuntu 16.04 (en utilisant exportpas set) et cela a résolu le problème.
Benjamin Conlan
Génie. Merci beaucoup. Je pensais que j'allais devoir changer ma JVM
flocons
1
A travaillé comme un charme sur Windows 10 avec Java 10
pabz
4
Malheureusement, cela semble avoir été entièrement supprimé dans Java 11.
Alastair Maw
A travaillé export JAVA_OPTS = '-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'sur Ubuntu 18.04
e2-e4
25

Si vous ne voulez pas changer votre version de Java (je ne le fais pas), vous pouvez temporairement changer la version dans votre shell:

Première exécution

/usr/libexec/java_home -V

Ensuite, choisissez une version majeure si vous l'avez installée, sinon installez-la d'abord:

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

Vous pouvez maintenant exécuter sdkmanager.

Sarah A
la source
2
$ /usr/libexec/java_home -Vdonne bash: /usr/libexec/java_home: No such file or directory. apt-file search /usr/libexec/java_homene donne exactement rien.
Tino
Avez-vous défini $ JAVA_HOME correctement? Exécuter: echo "export JAVA_HOME=`/usr/libexec/java_home`" >> ~/.bashrc(ou profil si vous utilisez le profil) - recharger:. ~/.bashrc
Sarah A
Il n'y a pas non /usr/libexecplus. Êtes-vous sur MacOS? (Je suis sur Ubuntu / Linux et Ubuntu / Windows)
Tino
J'utilise mac. où est votre Java_home?
Sarah A
21

Sur Mac / Linux, utilisez la commande suivante:

export JAVA_OPTS='-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

Fonctionne à la fois pour JDK 9 et 10, sans patcher aucun script (sdkmanager, avdmanager).

Pour Java 11, voir: https://stackoverflow.com/a/51644855/798165

oori
la source
1
Merci! il résout le problème lorsque vous avez installé jdk 9
Jorge Valvert
15

J'ai trouvé deux réponses qui ont fonctionné pour moi, sans avoir à désinstaller JDK 10 (ou 9), dont j'ai besoin create-react-app. Les JDK 9 et 10 sont incompatibles avec android-sdk!


Siu Ching Pong -Asuka Kenji- suggère de modifier le sdkmanagerscript en remplaçant cette ligne:

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME"'  

avec:

DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'

Notez que ce mod sera écrasé lors de la mise à jour de sdkmanager.
Consultez son article et celui auquel il renvoie pour plus de détails.
Cette solution était également l'une des solutions mentionnées dans ce fil de discussion sur les problèmes de github .


La publication de German indique la source du conflit et présente un correctif qui ne sera pas écrasé par les mises à jour.
Il suggère de renommer /Library/Java/JavaVirtualMachines/Info.plistcomme moyen de le masquer du script qui recherche la version la plus élevée de Java résidant sur votre système. De cette manière, JDK 8 est renvoyé par défaut.
En vous référant à JDK 10 explicitement, ou en le définissant sur $JAVA_HOME, vous pouvez utiliser JDK 10, au lieu de la valeur par défaut, chaque fois que nécessaire.
Les détails sont dans son message.

SherylHohman
la source
1
A parfaitement fonctionné, meilleure solution à
mon humble avis
D'une manière ou d'une autre, après avoir beaucoup expérimenté avec ao. Android Studio, ce problème a disparu et la nouvelle erreur était Could not find or load main class java.se.ee- le rétablissement de DEFAULT_JVM_OPTS a résolu ce problème et le problème précédent a disparu ..
niveaux
3
Malheureusement, cela ne fonctionne pas maintenant. Le résultat est le suivant: une erreur s'est produite lors de l'initialisation de la couche de démarrage java.lang.module.FindException: module java.se.ee introuvable
Oscar
1
Nous avons voté pour stackoverflow.com/a/49630166/5411817 pour avoir la bonne solution pour garder jdk-11 et jdk1.8 installés sans rétrograder
Harrisjb
15

Vous devez ajouter les éléments suivants à votre profil (fonctionne sur MacOS):

export JAVA_HOME=`/usr/libexec/java_home -v 1.8`

Pas besoin de patcher quoi que ce soit.

Farsheed
la source
15

Installez simplement JDK version 8 et sélectionnez-le par défaut en utilisant:

sudo update-alternatives --config java
Steven
la source
11

Mise à jour 2019-10:

Comme indiqué dans le suivi des problèmes , Google a travaillé sur une nouvelle version des outils de ligne de commande du SDK Android qui fonctionne sur les JVM actuelles (9, 10, 11+) et ne dépend pas des modules JAXB EE obsolètes!

Vous pouvez télécharger et utiliser les nouveaux outils de ligne de commande du SDK Android dans Android Studio ou en les téléchargeant manuellement à partir des serveurs Google:

Pour les dernières versions, vérifiez les URL dans le repository.xml .

Si vous décompressez manuellement les outils de ligne de commande, veillez à les placer dans un sous-dossier de votre $ANDROID_HOME(par exemple $ANDROID_HOME/cmdline-tools/...).

G00fY
la source
1
Lorsque vous utilisez Java 9+, cela devrait être la réponse à partir de maintenant!
Luiggi Mendoza le
9

Étrangement Java9 n'est pas compatible avec android-sdk

$ avdmanager
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
    at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
    at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
    at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
    at com.android.sdklib.tool.AvdManagerCli.run(AvdManagerCli.java:213)
    at com.android.sdklib.tool.AvdManagerCli.main(AvdManagerCli.java:200)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
    at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
    at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:185)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:496)
    ... 5 more

Combiné toutes les commandes en une seule pour une référence facile:

$ sudo rm -fr /Library/Java/JavaVirtualMachines/jdk-9*.jdk/
$ sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
$ sudo rm -fr /Library/PreferencePanes/JavaControlPanel.prefPane

$ /usr/libexec/java_home -V
Unable to find any JVMs matching version "(null)".
Matching Java Virtual Machines (0):
Default Java Virtual Machines (0):
No Java runtime present, try --request to install

$ brew tap caskroom/versions
$ brew cask install java8
$ touch ~/.android/repositories.cfg
$ brew cask install android-sdk
$ echo 'export ANDROID_SDK_ROOT="/usr/local/share/android-sdk"' >> ~/.bash_profile
$ java -version
java version "1.8.0_162"
Java(TM) SE Runtime Environment (build 1.8.0_162-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
$ avdmanager

Usage:
      avdmanager [global options] [action] [action options]
      Global options:
  -s --silent     : Silent mode, shows errors only.
  -v --verbose    : Verbose mode, shows errors, warnings and all messages.
     --clear-cache: Clear the SDK Manager repository manifest cache.
  -h --help       : Help on a specific command.

Valid actions are composed of a verb and an optional direct object:
-   list              : Lists existing targets or virtual devices.
-   list avd          : Lists existing Android Virtual Devices.
-   list target       : Lists existing targets.
-   list device       : Lists existing devices.
- create avd          : Creates a new Android Virtual Device.
-   move avd          : Moves or renames an Android Virtual Device.
- delete avd          : Deletes an Android Virtual Device.
Eh bien Smith
la source
8

Puisque Java 11 a supprimé JavaEE, vous devrez télécharger des fichiers JAR et les ajouter au chemin de classe:

JAXB: https://javaee.github.io/jaxb-v2/

JAF: https://www.oracle.com/technetwork/articles/java/index-135046.html

Puis éditez sdkmanager.bat pour que l' ensemble CLASSPATH = ... se termine par ;% CLASSPATH%

Définissez CLASSPATH pour inclure JAXB et JAF:

set CLASSPATH=jaxb-core.jar;jaxb-impl.jar;jaxb-api.jar;activation.jar

Ensuite, sdkmanager.bat fonctionnera.

Peter Quiring
la source
Cela fonctionne, mais j'obtiens cet avertissement: AVERTISSEMENT: Accès réfléchissant illégal par com.sun.xml.bind.v2.runtime.reflect.opt.Injector (fichier: / F: / android_sdk / java / jaxb-ri / lib / jaxb -impl.jar) à la méthode java.lang.ClassLoader.defineClass (java.lang.String, byte [], int, int)
AndyMc
Oui, il semble que Java commence à mettre en garde contre les mauvaises pratiques de programmation consistant à utiliser la réflexion pour contourner la sécurité de classe, que JAXB utilise (Oracle enfreignant ses propres règles);)
Peter Quiring
5

J'ai fait face au même problème. Bien que je sois un peu développeur rétro-daté (J'utilise toujours Windows pour développer: P)

Pour résoudre ce problème sous Windows :

ÉTAPE 1: Installez jdk 8 s'il n'a pas été installé (jdk 9 ou 11 ne fonctionne pas mais vous pouvez les installer pour les utiliser dans d'autres utilisations de développement).

Très simple avec Chocolatey:

choco installer jdk8

(Si installé avec Chocolatey, ignorez les étapes 2 et 3)

ÉTAPE 2: Accédez aux paramètres des variables d'environnement et définissez JAVA_HOME sur le répertoire d'installation de jdk 8.

JAVA_HOME

ÉTAPE 3: Accédez à la variable de chemin et ajoutez le répertoire bin de jdk 8 et déplacez-le vers le haut.

Path_varriable

ÉTAPE 4: fermez toutes les sessions de terminal ouvertes et redémarrez une nouvelle session

ÉTAPE OPTIONNELLE 5: En fonction de votre objectif dans l'exécution du terminal (il peut être nécessaire d'ajouter sdkmanager au chemin ou simplement naviguer vers le répertoire):

sdkmanager - mise à jour

C'est tout! : O Profitez de flottement! :RÉ

THE_BLESSED_MEDIUM
la source
1
Ceci avec la meilleure réponse a fonctionné pour moi sur Windows 10!
mauriii
THANKSSSSSSSSSSSSSS
Raghav Joshi
Travaux! Je veux juste ajouter que si vous utilisez du code VS, vous devez redémarrer le programme après ce changement
Antonio Reyes
4

J'ai rencontré le même problème lors de l'exécution:

$ /Users/<username>/Library/Android/sdk/tools/bin/sdkmanager "platforms;android-28" "build-tools;28.0.3"_

Je l'ai résolu comme

$ echo $JAVA_HOME
/Library/Java/JavaVirtualMachines/jdk-11.0.1.jdk/Contents/Home    

$ ls /Library/Java/JavaVirtualMachines/

jdk-11.0.1.jdk      
jdk1.8.0_202.jdk

Changer Java pour utiliser 1.8

$ export JAVA_HOME='/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home'

Ensuite, la même commande fonctionne bien

$ /Users/<username>/Library/Android/sdk/tools/bin/sdkmanager "platforms;android-28" "build-tools;28.0.3"
Sandeep
la source
C'est le meilleur des cas. Si vous exportez déjà JAVA_OPTS. Veuillez le supprimer avant de suivre les étapes de cette réponse.
Sword Jason
2

Pour Windows, désinstallez le JDK s'il est supérieur à 1.8.172. Installez JDK 1.8.172

J'étais confronté au même problème dans Windows 10 avec java 10. J'ai désinstallé le java 10 et installé java8, il fonctionne très bien pour moi maintenant :)

Jagan
la source
2

Pour les utilisateurs de Linux (j'utilise une Debian Distro, Kali) Voici comment j'ai résolu le mien.

Si vous n'avez pas encore jdk-8, vous voulez l'obtenir sur le site d'Oracle

https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

J'ai le jdk-8u191-linux-x64.tar.gz

Étape 1 - Installation de Java Move et décompressez-le à un endroit approprié comme celui-ci

$ mv jdk-8u191-linux-x64.tar.gz /suitablelocation/
$ tar -xzvf /suitablelocation/jdk-8u191-linux-x64.tar.gz

Vous devriez obtenir un dossier décompressé comme jdk1.8.0_191 Vous pouvez ensuite supprimer l'archive tar pour économiser de l'espace

Étape 2 - Configuration d'alternatives à l'emplacement Java par défaut

$ update-alternatives --install /usr/bin/java java /suitablelocation/jdk1.8.0_191/bin/java 1
$ update-alternatives --install /usr/bin/javac javac /suitablelocation/jdk1.8.0_191/bin/javac 1

Étape 3 - Sélection de vos alternatives par défaut

$ update-alternatives --set java /suitablelocation/jdk1.8.0_191/bin/java
$ update-alternatives --set javac /suitablelocation/jdk1.8.0_191/bin/javac

Étape 4 - Confirmation de la version Java par défaut

$ java -version

Remarques

  1. Dans l'article original ici: https://forums.kali.org/showthread.php?41-Installing-Java-on-Kali-Linux , le plugin par défaut pour mozilla a également été défini. Je suppose que nous n'avons pas vraiment besoin des plugins car nous essayons simplement de développer pour Android.
  2. Comme dans la réponse de @ spassvogel, vous devez également placer un fichier @ repositories.cfg dans votre répertoire ~ / .android car cela est nécessaire pour mettre à jour les listes de repo d'outils
  3. Le déplacement de certaines choses peut nécessiter une autorité racine. Utilisez sudo à bon escient.
  4. Pour l'utilisation de sdkmanager, consultez le guide officiel: https://developer.android.com/studio/command-line/sdkmanager
hugovicfortman
la source
1

Exécutez les commandes java -versionet javac -versiondans une ligne de commande pour vous assurer qu'elles proviennent du même JDK (par exemple: version 1.8.0_181)

Sinon, vous devez modifier la PATHvariable pour qu'elle ne pointe que vers un seul JDK. Si vous ne savez pas comment procéder, désinstallez simplement toutes les autres instances Java à l'exception de Java 8 (Ajout / Suppression de programmes sous Windows). Comme pour aujourd'hui, Unity et Android vous recommandent d'utiliser JDK 8.

Avec Java 8, il n'est pas nécessaire d'exporter le java.se.eemodule comme indiqué dans certaines des autres réponses. Vous pouvez également supprimer l'une JAVA_OPTSou l'autre des variables d'environnement que vous avez définies.

Gayan Weerakutti
la source
1

J'ai récemment résolu ce problème en désinstallant la version supérieure de JDK et en installant JDK 8. Après avoir installé le JDK, vous devez indiquer le chemin. Ensuite, vous devez ouvrir l'invite de commande dans "C: \ Users \ Milan Adhikari \ AppData \ Local \ Android \ Sdk \ tools" et exécuter "sdkmanager --update" qui mettra à jour votre sdk, puis vous devez exécuter "flutter doctor - -android-licenses "dans cmd et accepter toutes les licences.
Maintenant, votre problème devrait être résolu.

Milan Adhikari
la source
1

Dans mon cas, j'ai besoin à la fois de JDK 8 (en essayant d'utiliser le gestionnaire AVD et SDK dans Qt sous ubuntu) et 11 pour différents outils. La suppression de la version 11 n'est pas une option.

Les solutions 'JAVA_OPTS' n'ont rien fait. Je n'aime pas vraiment l'export JAVA_HOME, car cela pourrait vous forcer à lancer n'importe quel outil appelant ces utils à partir du même shell (comme Qt), ou vous forcer à rendre ce permanent, ce qui n'est pas pratique.

Donc, pour moi, la solution est assez simple. Ajoutez quelque chose comme ça dans la deuxième ligne de ~ / Android / tools / bin / sdkmanager et ~ / Android / tools / bin / avdmanager:

JAVA_HOME="/usr/lib/jvm/java-8-openjdk-amd64"

(ou quel que soit le chemin d'accès à votre rev 8 jdk).

Avec cela, ces outils de ligne de commande fonctionnent en mode autonome, ils fonctionnent également lorsqu'ils sont appelés par d'autres outils tels que Qt, et jdk 11 est toujours le système par défaut pour les autres. Pas besoin de mélanger les bibliothèques etc ...

Le seul inconvénient est que toute mise à jour de ces outils de ligne de commande effacera ces modifications, que vous devrez réintroduire.

Will59
la source
HAUT! Merci!
Bailleur de fonds le
0

Rétrogradez votre version java, quel que soit le système ou l'idée.

Assurez-vous que la version java n'est pas supérieure à 8

Dans mon cas, je change la version ide java, cela résout mon problème. entrez la description de l'image ici

anKotliner
la source
0

Lorsque votre Android stuio / jre utilise une version différente de java, vous recevrez cette erreur. pour le résoudre, réglez simplement Android studio / jre sur votre JAVA_HOME. et désinstallez votre propre fichier java.

Licat Julius
la source
0

Pour moi, j'installe la version java 8 et je sélectionne simplement la version java dans "JDK location": entrez la description de l'image ici

Michael Liesenberg
la source
0

Pour ma situation, j'utilise sdkman pour gérer plusieurs versions de java. J'ai mis la version java par défaut à 13. Installez la version 8 et maintenant cela fonctionne très bien.

Brian Ng
la source
0

Le meilleur moyen est d'utiliser la commande ci-dessous

   $ wget https://dl.google.com/android/repository/platform-tools-latest-linux.zip
   $ unzip \platform-tools-latest-linux.zip
   $ sudo cp platform-tools/adb /usr/bin/adb
   $ sudo cp platform-tools/fastboot /usr/bin/fastboot

Exécutez maintenant la version adb pour vérifier qu'elle a été mise à jour.

zishan paya
la source