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

1voto

the_prole Points 71

Pour compléter les réponses, vous pouvez également vous rendre dans le répertoire sdkmanager et dans un sous shell et accepter les licences à cet endroit.

(
    cd /home/user/android-sdk-linux/tools/bin
    yes | ./sdkmanager --licenses
)

1voto

user1239490 Points 46

Je viens de faire Fichier -> Invalider les caches et redémarrer. Puis installer les paquets manquants. Cela a fonctionné pour moi.

1voto

Sous Windows :

  1. Ajouter les variables d'environnement USER :

NOTE : Le chemin doit être ajouté

JAVA_HOME           %ProgramFiles%\Android\Android Studio\jre
ANDROID_SDK_ROOT    %LocalAppData%\Android\Sdk
Path                %LocalAppData%\Android\Sdk
  1. Exécutez la commande ci-dessous pour accepter les licences :

NOTE : Accepter toutes les licences (dire y )

%ANDROID_SDK_ROOT%/tools/bin/sdkmanager.bat --licenses
  1. Maintenant, lancez votre application :

(comme ci-dessous, ou une autre commande qui a échoué pour vous) :

cd \myapp\
react-native run-android

1voto

Vahag Chakhoyan Points 111

Dans mon cas, j'ai simplement installé une nouvelle version d'Android studio sur un nouvel ordinateur portable et cloné l'ancien dépôt où buildToolsVersion "30.0.2" au niveau de l'application build.gradle. Je viens d'effectuer une mise à niveau vers 30.0.3 dont Android studio recommandé d'elle-même et le problème a disparu

1voto

n-y Points 83

https://www.youtube.com/watch?v=g789PvvW4qo m'a vraiment aidé. Ce que j'ai fait, c'est ouvrir SDK Manager et télécharger toute nouvelle plateforme SDK (ne vous inquiétez pas, cela n'affectera pas le niveau d'api que vous souhaitez).

Parce qu'avec le downlaoding de n'importe quelle plateforme SDK (niveau API), vous devez accepter les licences. C'est l'astuce qui a fonctionné 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