Accepter automatiquement toutes les SDK licences

Depuis gradle android plugins 2.2-alpha4:

Gradle tentera de télécharger le manque SDK paquets qu'un projet
dépend

Qui est incroyablement cool et a été connu pour être un JakeWharton projet.

Mais, pour télécharger le kit de développement de la bibliothèque, vous devez: acceptez les contrats de licence ou gradle vous dit:

Vous n'avez pas accepté les accords de licence du SDK suivantes
les composants: [version du SDK Android-Tools 24, Android SDK de la Plate-forme 24].
Avant la construction de votre projet, vous devez accepter le contrat de licence
accords et effectuer l'installation des composants manquants
à l'aide de l'Android Studio SDK Manager. Vous pouvez également apprendre à
le transfert des contrats de licence à partir d'un poste de travail à un autre, aller à
http://d.android.com/r/studio-ui/export-licenses.html

Et c'est un problème parce que j'aimerais installer tous les sdk dépendances tout en faisant un gradle build.

Je suis à la recherche d'une solution pour accepter automatiquement toutes les licences. Peut-être un gradle script ?
Avez-vous des idées ?

Merci!

[MODIFIER]

Une solution à exécuter:

android update sdk --no-ui --filter build-tools-24.0.0,android-24,extra-android-m2repository

Et l'installer manuellement, mais c'est la gradle nouvelle fonction objectif pour le faire.

[EDIT 2]

Une meilleure solution est d'utiliser le sdkmananger:

yes | sdkmanager --licenses
  • Vous pouvez également pop un echo y | en face de la commande à l'auto acceptez la licence. Utile lors de l'exécution sur une tête de CI de la boîte 🙂
  • J'ai eu à faire ~/.android/tools/android update sdk --no-ui --filter build-tools-25.0.0,android-25,extra-android-m2repository parce que le android outil a été localisé à mon domicile
  • sdkmanager --licences ne fonctionne plus. J'ai utilisé --mise à niveau, a ignoré les erreurs et cette trié les problèmes de licence.
  • sdkmanager --licences Android\tools\bin a fonctionné pour moi!
  • J'ai utilisé cette commande pour l'IC de l'environnement de script de build avec petit réglage. J'ai ajouté --sdk_root=$ANDROID_SDK_PATH. Le problème était que les licences ont été acceptées et n'est pas enregistré pour Android SDK dossier racine. Dernière commande: oui | sdkmanager --licences --sdk_root=$ANDROID_SDK_PATH (sans sudo)
  • Assurez-vous d'avoir défini $ANDROID_SDK_PATH à la racine du chemin où vous avez installé le SDK (c'est à dire: /opt/android-sdk), ou il suffit de mettre le chemin d'accès directement (c'est à dire: yes | sdkmanager --licenses --sdk_root=/opt/android-sdk)
  • yes | sudo sdkmanager --licenses cela déclenche une Error: Unknown argument --licenses @nsvir
  • Dans ubuntu, docker, cela a fonctionné pour moi: RUN sh -c ' printf "y\ny\ny\ny\ny\ny\ny\ny\ny\ny\n" | ./sdkmanager --licenses
  • ce commentaire est assez important en fait, si vous travaillez à travers cmd il est très probable que vous définissez ANDROID_HOME, de sorte qu'il ne fonctionne pas, tout ce que vous faire

InformationsquelleAutor nsvir | 2016-06-29