sdkmanager
ist ein Befehlszeilentool, mit dem Sie Pakete für das Android SDK ansehen, installieren, aktualisieren und deinstallieren können. Wenn Sie Android Studio verwenden, müssen Sie dieses Tool nicht verwenden, sondern können Ihre SDK-Pakete in der IDE verwalten.
Das sdkmanager
-Tool ist im Paket Android SDK Command-Line Tools enthalten.
So installieren Sie eine Version der Befehlszeilentools mit dem SDK Manager:
- Laden Sie das aktuelle Befehlszeilentool-Paket von der Android Studio-Seite 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 mit dem Namenlatest
. - Verschieben Sie den Inhalt des ursprünglichen
cmdline-tools
-Verzeichnisses, einschließlich deslib
-Verzeichnisses, desbin
-Verzeichnisses, derNOTICE.txt
-Datei und dersource.properties
-Datei, in das neu erstelltelatest
-Verzeichnis. Sie können die Befehlszeilentools jetzt von diesem Speicherort aus verwenden. (Optional) Wenn Sie eine frühere Version der Befehlszeilentools installieren möchten, führen Sie den folgenden Befehl aus:
Ersetzen Sieandroid_sdk/cmdline-tools/latest/bin/sdkmanager --install "cmdline-tools;version"
version
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)
Mit der Option channel
können Sie ein Paket aus einem Channel bis einschließlich channel_id
einfügen. Geben Sie beispielsweise den Canary-Channel an, um Pakete aus allen Channels aufzulisten.
Pakete installieren
Verwenden Sie die folgende Syntax, um Pakete zu installieren:
sdkmanager packages [options]
Das Argument packages ist ein SDK-Pfad, wie er mit dem Befehl --list
gezeigt wird, in Anführungszeichen. Beispiel: "build-tools;35.0.0"
oder "platforms;android-33"
.
Sie können mehrere Paketpfade übergeben, die durch ein Leerzeichen getrennt sind. Jeder Pfad muss jedoch in eigene Anführungszeichen eingeschlossen 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 SDK-Pfad eines zu installierenden Pakets ist (ohne Anführungszeichen).
Fügen Sie zum Deinstallieren das Flag --uninstall
hinzu:
sdkmanager --uninstall packages [options] sdkmanager --uninstall --package_file=package_file [options]
Verwenden Sie die folgende Syntax, um CMake oder das 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)
Mit dem folgenden Befehl wird beispielsweise die angegebene NDK-Version installiert, unabhängig davon, in welchem Channel 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 Sie Pakete in Android Studio installieren.
Wenn Sie Android Studio nicht installiert haben oder es sich um einen CI-Server oder ein anderes Headless-Linux-Gerät ohne installierte GUI handelt, führen Sie die folgenden Schritte über die Befehlszeile aus:
sdkmanager --licenses
Sie werden aufgefordert, alle Lizenzen zu akzeptieren, die noch nicht akzeptiert wurden.
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
|
Verwenden Sie den angegebenen SDK-Pfad anstelle des SDK, das dieses Tool enthält. |
--channel=channel_id
|
Pakete in Kanäle bis einschließlich channel_id einbeziehen. Folgende Channels sind verfügbar:
|
--include_obsolete
|
Sie nehmen veraltete Pakete in die Paketliste oder Paketupdates auf.
Nur für die Verwendung mit --list und --update .
|
--no_https
|
Erzwingen, dass für alle Verbindungen HTTP statt HTTPS verwendet wird. |
--newer
|
Mit --list werden nur neue oder aktualisierbare Pakete angezeigt.
|
--verbose
|
Ausführlicher Ausgabemodus. Fehler, Warnungen und Informationsmeldungen werden ausgegeben. |
--proxy={http | socks}
|
Verbindung über einen Proxy des angegebenen Typs herstellen: entweder http für Protokolle auf hoher Ebene 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
|
Die Portnummer des Proxys, zu dem eine Verbindung hergestellt werden soll. |