Seit Gradle Android Plugins 2.2-Alpha4 :
Gradle versucht, fehlende SDK-Pakete herunterzuladen, von denen ein Projekt abhängt
Das ist unglaublich cool und war bekanntermaßen ein JakeWharton-Projekt .
Um die SDK-Bibliothek herunterzuladen, müssen Sie jedoch: die Lizenzvereinbarungen akzeptieren oder gradle Ihnen Folgendes mitteilen:
Sie haben die Lizenzvereinbarungen der folgenden SDK-Komponenten nicht akzeptiert: [Android SDK Build-Tools 24, Android SDK Platform 24]. Bevor Sie Ihr Projekt erstellen, müssen Sie die Lizenzvereinbarungen akzeptieren und die Installation der fehlenden Komponenten mit dem Android Studio SDK Manager abschließen. Alternativ erfahren Sie unter http://d.android.com/r/studio-ui/export-licenses.html , wie Sie die Lizenzvereinbarungen von einer Workstation auf eine andere übertragen können
Und das ist ein Problem, weil ich gerne alle SDK-Abhängigkeiten installieren würde, während ich a mache gradle build
.
Ich suche nach einer Lösung, um automatisch alle Lizenzen zu akzeptieren. Vielleicht ein Gradle-Skript? Hast du eine Idee ?
Vielen Dank!
[BEARBEITEN]
Eine Lösung bestand darin, Folgendes auszuführen:
android update sdk --no-ui --filter build-tools-24.0.0,android-24,extra-android-m2repository
Und installieren Sie es manuell, aber es ist der neue Zweck des Gradles, dies zu tun.
[EDIT 2]
Eine bessere Lösung ist die Verwendung des sdkmananger:
yes | sdkmanager --licenses
~/.android/tools/android update sdk --no-ui --filter build-tools-25.0.0,android-25,extra-android-m2repository
weil das android
Werkzeug in meinem Haus lokalisiert war
$ANDROID_SDK_PATH
um die tatsächliche Wurzel Pfad , in dem Sie das SDK installiert haben (zB: /opt/android-sdk
), oder einfach nur den Weg legen direkt (dh yes | sdkmanager --licenses --sdk_root=/opt/android-sdk
)
echo y |
vor diesen Befehl stellen, um die Lizenz automatisch zu akzeptieren. Nützlich beim Laufen auf einer kopflosen CI-Box :)