sdkmanager
ist ein Befehlszeilentool, mit dem Sie Pakete für das Android SDK aufrufen, installieren, aktualisieren und deinstallieren können. Wenn Sie Android Studio verwenden, müssen Sie dieses Tool nicht verwenden und können stattdessen Ihre SDK-Pakete über die IDE verwalten.
Das sdkmanager
-Tool ist im Paket Android SDK-Befehlszeilentools enthalten.
So installieren Sie mit SDK Manager eine Version der Befehlszeilentools:
- Laden Sie auf der Downloadseite von Android Studio das neueste Paket „Nur Befehlszeilentools“ herunter und entpacken Sie es.
- Verschieben Sie das entpackte Verzeichnis
cmdline-tools
in ein neues Verzeichnis Ihrer Wahl, z. B. android_sdk. Dieses neue Verzeichnis ist Ihr Android SDK-Verzeichnis. - Erstellen Sie im entpackten Verzeichnis
cmdline-tools
ein Unterverzeichnis namenslatest
. - Verschieben Sie den ursprünglichen Inhalt des
cmdline-tools
-Verzeichnisses, einschließlich des Verzeichnisseslib
, des Verzeichnissesbin
, der DateiNOTICE.txt
und der Dateisource.properties
, in das neu erstellte Verzeichnislatest
. Sie können die Befehlszeilentools jetzt von diesem Speicherort aus verwenden. (Optional) Führen Sie den folgenden Befehl aus, um eine frühere Version der Befehlszeilentools zu installieren:
android_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
Ersetzen Sieversion
durch die Version, die Sie installieren möchten, z. B.5.0
.
Nutzung
Mit sdkmanager
können Sie installierte und verfügbare Pakete auflisten, Pakete installieren und Pakete aktualisieren. Weitere Informationen finden Sie in den folgenden Abschnitten.
Installierte und verfügbare Pakete auflisten
Verwenden Sie die folgende Syntax, um installierte und verfügbare Pakete aufzulisten:
sdkmanager --list [options] \ [--channel=channel_id] // Channels: 0 (stable), 1 (beta), 2 (dev), or 3 (canary)
Verwenden Sie die Option channel
, um ein Paket von einem Kanal bis einschließlich channel_id
einzuschließen. Geben Sie beispielsweise den Canary-Kanal an, um Pakete aus allen Kanälen aufzulisten.
Pakete installieren
Verwenden Sie die folgende Syntax, um Pakete zu installieren:
sdkmanager packages [options]
Das Argument packages ist ein Pfad im SDK-Stil, wie mit dem Befehl --list
in Anführungszeichen dargestellt. Beispiel: "build-tools;34.0.0"
oder "platforms;android-33"
.
Sie können mehrere Paketpfade übergeben, die durch ein Leerzeichen getrennt sind. Jeder Paketpfad muss in Anführungszeichen gesetzt werden. So installieren Sie beispielsweise die neuesten Plattformtools und die SDK-Tools für API-Level 33:
sdkmanager "platform-tools" "platforms;android-33"
Alternativ können Sie eine Textdatei übergeben, in der alle Pakete angegeben sind:
sdkmanager --package_file=package_file [options]
Das Argument package_file ist der Speicherort einer Textdatei, in der jede Zeile ein Pfad im SDK-Stil eines zu installierenden Pakets ist (ohne Anführungszeichen).
Fügen Sie zur Deinstallation das Flag --uninstall
hinzu:
sdkmanager --uninstall packages [options] sdkmanager --uninstall --package_file=package_file [options]
Verwenden Sie die folgende Syntax, um CMake oder den NDK zu installieren:
sdkmanager --install ["ndk;major.minor.build[suffix]" | "cmake;major.minor.micro.build"] [--channel=channel_id] // NDK channels: 0 (stable), 1 (beta), or 3 (canary)
Verwenden Sie beispielsweise den folgenden Befehl, um die angegebene NDK-Version unabhängig davon zu installieren, auf welchem Kanal sie sich derzeit befindet:
sdkmanager --install "ndk;21.3.6528147" --channel=3 // Install the NDK from the canary channel (or below) sdkmanager --install "cmake;10.24988404" // Install a specific version of CMake
Alle installierten Pakete aktualisieren
Verwenden Sie die folgende Syntax, um alle installierten Pakete zu aktualisieren:
sdkmanager --update [options]
Lizenzen akzeptieren
Sie müssen die erforderliche Lizenz für jedes installierte Paket akzeptieren. Dieser Schritt erfolgt während der Installation, wenn du Pakete aus Android Studio installierst.
Wenn Sie Android Studio nicht installiert haben oder es für einen CI-Server oder ein anderes monitorloses Linux-Gerät ohne installierte GUI bestimmt ist, führen Sie über die Befehlszeile Folgendes aus:
sdkmanager --licenses
Sie werden dann aufgefordert, alle noch nicht akzeptierten Lizenzen zu akzeptieren.
Optionen
In der folgenden Tabelle sind die verfügbaren Optionen für die im vorherigen Abschnitt aufgeführten Befehle aufgeführt:
Option | Beschreibung |
---|---|
--sdk_root=path
|
Verwende den angegebenen SDK-Pfad anstelle des SDK, das dieses Tool enthält. |
--channel=channel_id
|
Schließen Sie Pakete in Kanälen bis einschließlich channel_id ein. Verfügbare Kanäle:
|
--include_obsolete
|
Nehmen Sie veraltete Pakete in die Paketliste oder in Paketupdates auf.
Nur zur Verwendung mit --list und --update .
|
--no_https
|
Erzwingen, dass für alle Verbindungen HTTP statt HTTPS verwendet wird. |
--newer
|
Mit --list nur neue oder aktualisierbare Pakete anzeigen.
|
--verbose
|
Ausführlicher Ausgabemodus. Fehler, Warnungen und Informationsmeldungen werden ausgegeben. |
--proxy={http | socks}
|
Stellen Sie eine Verbindung über einen Proxy des angegebenen Typs her: entweder http für allgemeine Protokolle wie HTTP oder FTP oder socks für einen SOCKS-Proxy (V4 oder V5).
|
--proxy_host={IP_address | DNS_address}
|
IP- oder DNS-Adresse des zu verwendenden Proxys. |
--proxy_port=port_number
|
Proxy-Portnummer, zu der eine Verbindung hergestellt werden soll. |