Jetzt muss ich das Android SDK und den AVD Manager herunterladen und installieren und dann die APIs und Tools über die Benutzeroberfläche installieren. Gibt es eine Möglichkeit, diesen Prozess zu automatisieren?
android
android-sdk-tools
avd
dongshengcn
quelle
quelle
Antworten:
AKTUALISIEREN
In den neuesten Versionen
sdkmanager
wird ein Befehlszeilentool eingeführt , mit dem Sie Pakete für das Android SDK anzeigen, installieren, aktualisieren und deinstallieren können.Das
sdkmanager
Tool ist im Android SDK Tools-Paket ( 25.2.3 und höher ) enthalten und befindet sich inandroid_sdk/tools/bin/
.Also, um die Pakete zu aktualisieren, laufen
die Lizenzen zu akzeptieren
ALTE ANTWORT
(Bitte beachten Sie: Der Android-Befehl ist veraltet!)
Je näher Sie der Automatisierung kommen können, desto wahrscheinlicher ist:
Android bietet diese Optionen für automatische Updates:
Wenn Sie auflisten möchten, welche Pakete für die Installation verfügbar sind, können Sie diese verwenden
und Sie erhalten zum Beispiel eine geordnete Liste von Paketen
Sie können das Update auch nur auf eine gewünschte Komponente beschränken, wenn Sie die
--filter
Option verwendenwobei die Komponente eine oder mehrere von ist
android list sdk
(dh 1 , auch als Paketindex bekannt )oder kann eine oder mehrere spezifische Bezeichner sein. Wenn Sie beispielsweise nur einen kleinen Satz bestimmter Pakete herunterladen möchten, können Sie dies tun:
und Sie erhalten nur die Plattform-Tools, API Level 16 und Support Package Jar. Dies ist sehr praktisch, wenn Sie nur eine Build-Maschine bauen und für das Herunterladen all der zusätzlichen Dinge bezahlen müssen, die Sie niemals verwenden werden.
Um die verfügbaren Optionen anzuzeigen, können Sie beispielsweise --help verwenden
quelle
Error: Ignoring unknown package filter 'tools'
oder angezeigt wirdError: Ignoring unknown package filter 'android-17'
.--accept-license
Flag hinzugefügt . In der Zwischenzeit können Sieecho "y" | android update sdk --no--ui
Das hat bei mir nicht funktioniert ...
Also bin ich hier gelandet:
quelle
ich benutze dies, um das sdk auf travis-ci zu installieren und zu aktualisieren
quelle
Um alle Lizenzen mit 'y' zu beantworten, können Sie dies im Skript versuchen:
quelle
Für alle, die noch nach einer Methode suchen, um alle Android-Pakete herunterzuladen, habe ich ein Skript dafür geschrieben. Es werden alle nicht veralteten Pakete heruntergeladen .
Sie können es auch auf meinem Github-Repo sehen
Die gute:
expect
.Die Nachteile:
android
in Ihren Pfad einfügen.quelle
In neueren Android-Versionen (zB
25.2.5
) sollten wir sdkmanager verwenden (anstelle desandroid
Befehls)Beispiel für die Installation eines Pakets:
Befehl zum Abrufen einer Liste aller verfügbaren Pakete:
Diese Webseite listet Download-Links für die SDK-Tools auf:
Hier ist ein Link zu einem Open-Source-Repository Docker-Android, das Android in einem Docker-Image installieren kann.
Die Antworten finden Sie auch in dieser SO-Frage: Akzeptieren Sie automatisch alle nützlichen SDK-Lizenzen .
quelle
Ab dem Android Plugin für Gradle Version 2.2.0 werden fehlende SDK-Komponenten automatisch heruntergeladen .
quelle
Ich habe ein Ruby-Skript zusammengestellt, das das SDK ohne Aufforderung herunterlädt und installiert, was möglicherweise hilfreich ist. https://github.com/ayvazj/andenv
quelle
Noch ein Skript zum Herunterladen von nur benötigten, nicht {veralteten, Quell-, Emulator-Image-, Doc} -Paketen:
Einige Teile stammen aus anderen Antworten in diesem Thread.
quelle
So automatisieren Sie die
sdkmanager.bat --licenses
Eingabeaufforderung unter Windows (sagen wir, Sie installieren über die Automatisierung für die Build-Infrastruktur) ... Führen Sie sie nicht aus. Verschwenden Sie keine Zeit damit, herauszufinden, wie Sie hineinpfeifeny
können. Ich habe es versucht; erbärmlich scheitern.Führen Sie es lieber einmal selbst aus und beachten Sie, dass darin Dateien generiert werden
c:\android\android-sdk\licenses
(wo Sie ausgeführt werdenc:\android\android-sdk\tools\bin\sdkmanager.bat
- Ihr Installationsstamm kann variieren).Nehmen Sie diese Dateien und platzieren Sie sie an einem Ort, an dem Sie sie in Ihren automatisierten Setup-Skripten abrufen können. Persönlich ist ansible mein Gift, also:
quelle
Ich war auch darüber frustriert und habe ein Gradle-Plugin namens namens erstellt
com.quittle.setup-android-sdk
, das erkennt und installiert, was Sie brauchen. Es funktioniert unter Windows, OSX und Linux und erfordert keine zusätzlichen Abhängigkeiten, wenn Sie mit Gradle erstellen.Wenn Sie interessiert sind, können Sie meine Dokumente hier einsehen: https://github.com/quittle/gradle-setup-android-sdk
quelle
Für einen neuen Android-Entwickler, aber einen erfahrenen Java-Entwickler, ist es wirklich verwirrend zu wissen, WELCHE Abhängigkeiten, AUCH wenn Sie alle oben genannten Albträume überwinden. Mein Kollege hat mir geraten, Android Studio (das auf Intellij basiert :-) speziell zu verwendenwegen der oben genannten Albträume. Ich folgte seinem Rat. Aber ich habe die Standardeinstellungen für die Installation nicht akzeptiert und versucht, sie auf einem meiner Software-Laufwerke zu installieren. Es stellte sich als Albtraum heraus. Der SDK-Dialog schien zu hängen und war überhaupt nicht intuitiv. Deshalb bin ich hier gelandet. Nachdem ich das Obige gelesen hatte, versuchte ich es noch einmal mit Studio und dieses Mal akzeptierte ich ALLE Standardeinstellungen für die Installation. Hey PRESTO ... es hat sich in ein paar Dialogen ohne Aufforderung um alle SDK-Abhängigkeiten gekümmert (Kernabhängigkeiten, die ich vermute), z. B. Ctl-Shift-S und SKD. Ich würde es daher einem Neuling empfehlen. Hier der Beweis für den Pudding beim Herunterladen:
Die Version von sudio, die ich heruntergeladen und installiert habe: Version von Windows: Und hier, nachdem es seine guten Sachen gemacht hat:
Mit freundlichen Grüßen hoffe es funktioniert für Sie!
quelle