sdkmanager

sdkmanager ist ein Befehlszeilentool, mit dem Sie Pakete für das Android SDK ansehen, installieren, aktualisieren und deinstallieren können. Auf Android-Geräten Studio verwenden, benötigen Sie dieses Tool nicht. Stattdessen können Sie Ihre Kampagneneinstellungen SDK-Pakete aus der IDE.

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

  1. Aktuellen Befehlszeilentools herunterladen Paket von der Android Studio-Downloadseite aus und entpacken Sie das Paket.
  2. Verschieben Sie das entpackte cmdline-tools-Verzeichnis in ein neues Verzeichnis Ihrer Wahl, z. B. android_sdk. Dieses neue Verzeichnis ist Ihr Android SDK-Verzeichnis.
  3. Erstellen Sie im entpackten Verzeichnis cmdline-tools Folgendes: Unterverzeichnis namens latest.
  4. Verschieben Sie den ursprünglichen Inhalt des cmdline-tools-Verzeichnisses, einschließlich das Verzeichnis lib, das Verzeichnis bin, NOTICE.txt und source.properties in die Datei neu erstelltes latest-Verzeichnis. Sie können jetzt die Befehlszeile von diesem Ort aus.
  5. Optional: Wenn Sie eine vorherige Version der Befehlszeilentools installieren möchten, führen Sie den folgenden Befehl aus:

    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, Pakete installieren und Pakete aktualisieren. Weitere Informationen finden Sie in den folgenden Abschnitten.

Liste der installierten und verfügbaren Pakete

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 von einem Kanal bis und einschließlich channel_id. 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 SDK-Pfad, der wie beim Befehl --list in Anführungszeichen gesetzt ist. Beispiel: "build-tools;34.0.0" oder "platforms;android-33".

Du kannst mehrere Pakete übergeben Pfade, die durch ein Leerzeichen getrennt sind, die aber jeweils in jeweils eigenen Anführungszeichen. So installieren Sie beispielsweise die neuesten Plattformtools und 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 zu einem zu installierenden Paket 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 können Sie beispielsweise die angegebene NDK-Version installieren, unabhängig davon, 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 Paket akzeptieren, das Sie haben installiert haben. Dieser Schritt erfolgt während der Installation, wenn du Pakete in Android Studio an.

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 Folgendes ü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 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ügbar Channels sind:

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

--include_obsolete Fügen Sie veraltete Pakete in den Paketeintrag oder in Paketupdates ein. Nur zur Verwendung mit --list und --update.
--no_https Alle Verbindungen müssen 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 gedruckt.
--proxy={http | socks} Verbindung über einen Proxy des angegebenen Typs herstellen: entweder http für High-Level-Protokolle wie HTTP oder FTP 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.