sdkmanager

Das sdkmanager ist ein Befehlszeilentool, mit dem Sie Pakete für das Android SDK aufrufen, installieren, aktualisieren und deinstallieren können. Wenn du Android Studio verwendest, benötigst du dieses Tool nicht. Stattdessen kannst du deine SDK-Pakete über die IDE verwalten.

Das sdkmanager-Tool ist im Paket Android SDK-Befehlszeilentools enthalten. So installieren Sie mit dem SDK Manager eine Version der Befehlszeilentools:

  1. Laden Sie auf der Downloadseite von Android Studio das neueste Paket mit nur Befehlszeilentools herunter und entpacken Sie es.
  2. Verschieben Sie das entpackte cmdline-tools-Verzeichnis in ein neues Verzeichnis Ihrer Wahl, z. B. android_sdk. Dieses neue Verzeichnis ist dein Android SDK-Verzeichnis.
  3. Erstellen Sie im entpackten Verzeichnis cmdline-tools ein Unterverzeichnis mit dem Namen latest.
  4. Verschieben Sie den ursprünglichen Inhalt des cmdline-tools-Verzeichnisses, einschließlich des lib-Verzeichnisses, des bin-Verzeichnisses, der NOTICE.txt-Datei und der source.properties-Datei, in das neu erstellte latest-Verzeichnis. Sie können jetzt die Befehlszeilentools von diesem Speicherort aus verwenden.
  5. (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 Sie 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, installieren und 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 im 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, aber sie müssen jeweils 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-ähnlicher Pfad eines zu installierenden Pakets (ohne Anführungszeichen) ist.

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)

Verwenden Sie beispielsweise den folgenden Befehl, um die angegebene NDK-Version unabhängig von ihrem aktuellen Kanal zu installieren:

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 Android Studio nicht installiert ist oder es für einen CI-Server oder ein anderes monitorloses Linux-Gerät ohne GUI vorgesehen ist, führen Sie folgenden Befehl über die Befehlszeile aus:

sdkmanager --licenses

Sie werden dann 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:

Wahltaste Beschreibung
--sdk_root=path Verwende den angegebenen SDK-Pfad anstelle des SDKs, das dieses Tool enthält.
--channel=channel_id Füge Pakete in Kanäle bis einschließlich channel_id ein. Verfügbare Kanäle:

0 (stabil), 1 (Beta), 2 (Dev) und 3 (Canary).

--include_obsolete Veraltete Pakete in die Paketauflistung oder Paketupdates aufnehmen. Nur zur Verwendung mit --list und --update.
--no_https Erzwingen, dass alle Verbindungen HTTP anstelle von HTTPS verwenden.
--newer Mit --list können Sie nur neue oder aktualisierbare Pakete anzeigen lassen.
--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 High-Level-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-Port-Nummer, zu der eine Verbindung hergestellt werden soll.