323 votes

Erreur "Impossible d'installer les paquets Android SDK suivants car certaines licences n'ont pas été acceptées".

J'obtiens cette erreur dans jitpack, j'ai tout essayé sur internet. Voici mon erreur

Failed to install the following Android SDK packages as some licences have not been accepted.
     platforms;android-26 Android SDK Platform 26
     build-tools;28.0.3 Android SDK Build-Tools 28.0.3
  To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.

Et quand je lance ./sdkmanager --licenses

 All SDK package licenses accepted.======] 100% Computing updates...             

L'utilisation de sudo avec la commande ci-dessus donne

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.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)
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:190)
    at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
    ... 5 more

journal d'erreurs supplémentaire

File /opt/android-sdk-linux/.android/repositories.cfg could not be loaded.
Checking the license for package Android SDK Build-Tools 28.0.3 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Build-Tools 28.0.3 not accepted.
Checking the license for package Android SDK Platform 26 in /opt/android-sdk-linux/licenses
Warning: License for package Android SDK Platform 26 not accepted.

Je ne sais pas pourquoi il vérifie les licences à cet endroit alors que l'emplacement de mon SDK est autre.

1 votes

Il semble qu'il y ait un peu de folie solution ici Mais ça peut marcher !

4 votes

J'ai eu le même problème. J'ai téléchargé les SDK pertinents via Android Studio, et à aucun moment il ne m'a été demandé d'indiquer les licences. Encore un problème inutile.

1 votes

J'ai "accepté" les licences, mais cela n'a pas dû être enregistré puisque le répertoire Android sdk était en lecture seule. En mettant un Chmod 777 dans le répertoire sdk, cela a fonctionné pour moi. sudo chmod -R 0777 /opt/android-sdk

32voto

Damercy Points 180

Problème : la licence du SDK n'est pas acceptée

enter image description here

Étape 1 : Ouvrir le SDK Manager

Après avoir ouvert le gestionnaire de SDK, ouvrez l'onglet Outils SDK comme indiqué ci-dessous.

enter image description here

Étape 2 : Vérifiez l'option Show Package Details

Il y aura une liste de toutes les versions des outils SDK.

enter image description here

Étape 3 : Installer la version de l'outil SDK requise

Cochez la version spécifique des outils SDK qui pose problème (pour moi, c'était 29.0.3 comme indiqué ci-dessus dans la première capture d'écran) dans la liste, acceptez l'accord dans la boîte de dialogue qui s'ouvre ensuite et vous avez terminé.

1 votes

Cette solution a bien fonctionné, mais certaines des autres solutions n'ont pas fonctionné.

0 votes

@NickN Heureux que cela vous ait aidé ! :)

1 votes

MERCI BEAUCOUP MON FRÈRE. Celui-ci a fonctionné sous Windows. Le code d'un tutoriel d'udacity ne fonctionnait pas à cause de ce problème et votre solution a sauvé ma journée.

32voto

Hamu XD Points 658

Vous pouvez accepter les accords de licence des SDK indiqués en vous rendant dans le gestionnaire de SDK (Paramètres > [Recherche de SDK Android]), puis trouver les paquets mentionnés dans le message d'erreur et les y trouver. Il y a de fortes chances que vous trouviez des SDK qui ne sont pas entièrement installés et que leur installation vous demande d'accepter le contrat de licence. enter image description here

1 votes

Merci pour ça, ça fait un lot Il est plus logique de pouvoir accepter les licences dans AS que de devoir se débrouiller en ligne de commande. Ça a marché à merveille, ça devrait être en haut de la page.

0 votes

@dKen pas de problème. Merci de l'avoir apprécié.

13voto

syslogic Points 749

Utiliser android-28 con build-tools à la version 28.0.3 ; ou build-tools à la version 26.0.3 .

ou essayez ceci : yes | sudo sdkmanager --licenses

2 votes

Sous Windows, vous pouvez simplement exécuter sdkmanager.bat --licenses et le type y pour toutes les questions.

13voto

Angelo Mendes Points 597

Cela fonctionne pour moi :

yes | ./sdkmanager "platforms;android-28"

yes | ./sdkmanager "build-tools;28.0.3"

yes | ./sdkmanager --licenses

1 votes

Cela a bien fonctionné pour moi (Ubuntu 19.10, IntelliJ 2019.2.4). J'ai juste dû installer openJDK parce que je n'avais que le JDK intégré, non accessible depuis le terminal. sudo apt install openjdk-8-jdk

10voto

NADIRSHA Points 105

Si vous obtenez cette erreur en utilisant Flutter, veuillez exécuter la commande ci-dessous dans l'invite de commande.

flutter doctor --android-licenses

Si vous obtenez l'erreur suivante après avoir exécuté la commande ci-dessus

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.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:73)
    at com.android.sdklib.tool.sdkmanager.SdkManagerCli.main(SdkManagerCli.java:48)

Veuillez alors suivre les étapes suivantes

  1. Ouvrir le studio Android
  2. Allez dans le gestionnaire de SDK
  3. Cliquez sur l'onglet Outils SDK
  4. Installer l'outil de ligne de commande Android SDK
  5. Exécuter flutter doctor --android-licenses à nouveau

0 votes

C'est le travail pour moi

0 votes

C'est vraiment utile

0 votes

Merci, ça a marché pour moi !

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X