Wie installiert man Android SDK Build Tools auf der Kommandozeile?
Möchte ich, um den setup-Android-dev-Umgebung von der Befehl-Linie, und auf das folgende Problem:
wget http://dl.google.com/android/android-sdk_r22.0.5-linux.tgz
nachdem entpacken Sie die Datei, und führen Sie
tools/android update sdk --no-ui
Allerdings ist es zu langsam läuft
Fetching https://dl-ssl.google.com/android/repository/addons_list-2.xml
Das Ergebnis ist, dass nichts im Ordner build-tools, und ich will, ist aapt und apkbuilder, da will ich bauen apk von der Kommandozeile aus ohne ant.
InformationsquelleAutor der Frage Zhenguo Yang | 2013-07-31
Du musst angemeldet sein, um einen Kommentar abzugeben.
Standardmäßig den SDK-Manager von der Befehlszeile aus nicht enthalten sind die build-tools in der Liste. Sie sind in der "obsolet" - Kategorie. Sehen Sie alle verfügbaren downloads, verwenden
Haben und dann eines der Pakete in der Liste von der Befehlszeile verwenden:
Wo -u steht für --no-ui, -a steht für-alle-und -t steht für --filter.
Wenn Sie installieren müssen, um mehrere Pakete zu tun:
Wo 1,2,..,n ist die Paket-Nummer aufgeführt, die mit dem list-Befehl oben
InformationsquelleAutor der Antwort Nate
Wie bereits in anderen Antworten, die Sie verwenden können, die
--filter
option zur Begrenzung der installierten Pakete:android update sdk --filter ...
Die anderen Antworten gar nicht erwähnen, die Sie verwenden können Konstante string-Bezeichner anstelle von Indizes (die änderung) für den filter-Optionen. Dies ist hilfreich für die unbeaufsichtigte oder die Skript installiert. Mann für
--filter
option:android list sdk --all --extended
:Dann können Sie die string-ids, die als die filter-Optionen genau angeben, die Versionen, die Sie wollen:
android update sdk --filter tools,platform-tools,build-tools-19.0.3
etcInformationsquelleAutor der Antwort robd
Version 25.2.3. Aktualisierungen an (und höher) von
Android SDK Tools
Paket enthält neue tool - sdkmanager - vereinfacht diese Aufgabe, die Installation von build-tools von der Befehlszeile aus.Es befindet sich in
android_sdk/tools/bin
Ordner.Nutzung (von Dokumentation):
Beispiel für die Verwendung (auf meinem Mac):
Können Sie auch festlegen, verschiedene Optionenzum Beispiel zu erzwingen, dass alle Anschlüsse für die Verwendung eines HTTP (
--no_https
), oder um die Verwendung von proxy-server (--proxy_host=address
und--proxy_port=port
).Überprüfen Sie die verfügbaren Optionen, verwenden Sie die
--help
Flagge. Auf meinem Rechner (Mac), die Ausgabe ist wie folgt:InformationsquelleAutor der Antwort Alex Lipov
ADB Build-Tools Werden Nicht automatisch heruntergeladen werden, der durch den Befehl android update sdk --no-ui
Also für die Installation von Gebäu-Werkzeug-Typ (in der Konsole):
Erinnere mich an die Nummer, die aufgeführt ist, bevor Sie die Position und führen Sie die folgenden:
Befehle eingegeben werden soll, in /YourFolder - /android-sdk-linux/tools
Auch für remote-Ordner (auf dem server geöffnet von ssh zum Beispiel), Typ:
Für die einfache Liste der ADB-Pakete geben Sie in terminal:
für alle Pakete installiert werden:
Oder mit Filter (Komma ist Trennzeichen):
InformationsquelleAutor der Antwort Flinbor
Eine große Quelle von Informationen, die ich stieß, während Sie versucht alles zu installieren Android SDK Verwandte von der Befehlszeile aus, war diese Dockerfile. Innerhalb der Dockerfile kann man sehen, dass der Autor führt einen einzigen Befehl installieren
platform tools
undbuild tools
ohne jede weitere Interaktion. Im Fall des OP hat sich streckte, würde der Befehl angepasst werden:InformationsquelleAutor der Antwort geoand
Ich hatte gerade eine verdammt Zeit bekommen android-sdk-Abhängigkeiten installiert via "command line" und seit der Dokumentation, die Sie mit den online-tools und sind völlig fehlt, ich dachte, ich würde post, was ich hier entdeckt.
Arbeite ich mit
android sdk r24.4.1
fürlinux
. Es gibt zwei Befehle, die Sie ausführen können um die Liste der verfügbaren Pakete:android list sdk
und die ausführliche:
android list sdk --all
Die Paket-Nummern, die für bestimmte Pakete unterscheiden sich für jeden Befehl oben! Zum Beispiel, die ehemaligen Listen-Paket
API 23.1 revision 3
als Paket#3
und letztere listet ihn als#29
.Nun, es gibt zwei verschiedene Möglichkeiten, um zu installieren mit dem android-Befehl.
tools/android update sdk --no-ui --filter <package number>
und
tools/android update sdk -u -a -t <package number>
Gegeben, dass die install-Befehle jeder kann nehmen Sie das Paket # als parameter die Paket-Nummer, die Sie benutzen? Nach viel online-Durchsuchung und der Versuch und Irrtum, entdeckte ich, dass
android update sdk --no-ui --filter
verwendet das Paket zahlen ausandroid list sdk
und
android update sdk -u -a -t
verwendet das Paket zahlen ausandroid list sdk --all
In anderen Worten - zu installieren
API 23.1 revision 3
können Sie entweder:android update sdk --no-ui --filter 3
oder
android update sdk -u -a -t 29
Verrückt, aber es funktioniert.
InformationsquelleAutor der Antwort lps
Meisten Antworten scheinen die Tatsache zu ignorieren, dass Sie möglicherweise ausführen müssen, um das update in einer headless-Umgebung kein super-user-Rechte, was bedeutet, das Skript hat eine Antwort auf alle
y/n
Lizenz fordert automatisch.Hier ist das Beispiel, dass der trick funktioniert.
Egal, wie viele Aufforderungen bekommen Sie alle von denjenigen beantwortet werden. Diese
while/sleep
Schleife sieht wie die simulation der ja Befehl, und in der Tat ist es, gut fast. Das problem mityes
ist, dass es überschwemmungen stdout mit'y'
und es gibt praktisch keine Verzögerung zwischen dem senden die Zeichen und die version, die ich zu tun hatte, hatten keine timeout option jeder Art. Es wird "verschmutzen" stdout und das Skript schlägt fehl, beschwerte sich über falsche Eingaben. Die Lösung ist, um eine Verzögerung zwischen dem senden von'y'
auf stdout, und das ist genau das, waswhile/sleep
combo tut.expect
ist nicht standardmäßig auf einigen linux-Distributionen und ich hatte keine Möglichkeit, es zu installieren, als Teil von meine CI-Skripte, so war zu verwenden, die generische Lösung und nichts kann mehr generische als einfache bash-Skript, richtig?Als eine Angelegenheit von Tatsache, ich gebloggt über Sie (NSBogan), check it out für weitere details hier, wenn Sie interessiert sind.
InformationsquelleAutor der Antwort i4niac
Ja, ich habe das gleiche problem. Einige der Datei-downloads sind extrem langsam (oder zumindest wurden Sie in den letzten paar Tagen). Wenn Sie wollen download alles, es gibt nicht viel Sie tun kann.
Ließ Sie ihn laufen, bis er abgeschlossen ist?
Eine Sache, die Sie tun können, ist das filtern der Pakete, die heruntergeladen werden unter Verwendung der
-t
wechseln.Beispiel:
Wenn ich versuchte dies den anderen Tag, ich habe version 18.0.0 des build-tools installiert. Für einige Grund, die neueste version 18.0.1 ist nicht im Lieferumfang enthalten, die von diesem filter und der einzige Weg, um es war alles zu installieren mit der
--all
wechseln.InformationsquelleAutor der Antwort Dan Dyer
Ich hatte gerade dieses problem, damit ich endlich schrieb eine 1 Zeile bash-dirty-Lösung durch das Lesen und analysieren Sie die Liste der tools erhältlich :
InformationsquelleAutor der Antwort Aurélien Lambert
Inspiriert aus den Antworten von @i4niac & @Aurélien Lambert, das ist, was ich kam mit
Erklärung
android list sdk --all
Befehl (Ignorieren, veraltete Pakete).InformationsquelleAutor der Antwort Vinay Wadhwa
Wenn Sie
sdkmanager
installiert (ich benutze MAC)laufen
sdkmanager --list
zur Liste der verfügbaren Pakete.Wenn Sie möchten, zu installieren, build-tools, kopieren Sie die bevorzugte version aus der Liste der verfügbaren Pakete.
Installieren Sie die bevorzugte version laufen
InformationsquelleAutor der Antwort Lasithds
Ich lieber ein script, dass die Installation meines Abhängigkeiten
Etwas wie:
https://github.com/caipivara/android-scripts/blob/master/install-android-dependencies.sh
InformationsquelleAutor der Antwort Caipivara
Build-tools konnten nicht heruntergeladen werden standardmäßig automatisch als Nate sagte in https://stackoverflow.com/a/19416222/1104031 post.
Aber ich schrieb kleine Tools, die machen alles für Sie
Mir "erwarten" - tool als danb in https://stackoverflow.com/a/17863931/1104031 post.
Sie müssen nur die android-sdk und
python27
,expect
.Dieses Skript installiert alle build-tools, sdks und alles, was Sie für automatisierte build:
InformationsquelleAutor der Antwort Jacek Marchwicki
Wie bereits in anderen Antworten, die build-tools erfordert die
--all
flag installiert werden. Sie auch besser ein-t
filter-flag zu vermeiden, installieren Sie ALLE die Pakete, aber es gibt keine Möglichkeit, das filtern aller build-tools.Gibt es bereits Anfragen für diese zwei Punkte in AOSP bug-tracker. Fühlen Sie sich frei, um für Sie zu Stimmen, das könnte Ihnen passieren einige Tag:
InformationsquelleAutor der Antwort Sylfo
Habe ich versucht, dieses update für alle, und es funktionierte!
InformationsquelleAutor der Antwort Ting
Versuchen
1. Liste aller Pakete
2. Installieren Sie die Pakete mit folgendem Befehl
InformationsquelleAutor der Antwort Pehlaj
Download android SDK aus developer.android.com (seine derzeit eine 149mb-Datei für windows OS). Es ist würdig der Hinweis, dass android entfernt hat, die sdkmanager GUI, sondern ist ein command-line-version der sdkmanager in den bin-Ordner befindet sich im Ordner tools.
Umschalt+Rechte Maustaste >> Kommandozeile öffnen hier.
Sdkmanager --Liste (diese listet alle packages im SDK-manager)
ZB. sdkmanager-Plattform-tools (enter drücken)
Geladen werden, die Lizenz-Vereinbarung. Mit den Optionen (y/n). Geben Sie y ein, um zu akzeptieren, und es wird das Paket herunterladen, die Sie angegeben.
Ich hoffe, das hilft. 🙂
InformationsquelleAutor der Antwort philemon uchechukwu
android update sdk
Dieser Befehl update und installieren Sie alle neuesten release für die SDK-Tools, Build-Tools,SDK-platform-tools.
Ist es Arbeit für mich.
InformationsquelleAutor der Antwort Chirag