Der sdkmanager ist ein CLI-Tool, mit dem Benutzer verfügbare Pakete für das Android SDK anzeigen, installieren, aktualisieren und deinstallieren können.
In diesem Tutorial erfahren Sie, wie Sie den Android SDK Manager unter Ubuntu 18.04 mithilfe des Terminals installieren. Wir haben bereits gesehen, wie man Android SDK Manager auf Ubuntu 16.04 installiert.
Wenn Sie bereits Android Studio verwenden, müssen Sie sdkmanager nicht verwenden, da Sie Ihre SDK-Pakete stattdessen über die IDE verwalten können. Das sdkmanager-Tool ist im Android SDK Tools-Paket enthalten, daher werden wir letzteres installieren, um sdkmanager verwenden zu können.
Installieren Sie das Android SDK Tools-Paket
Vor der Installation des bevorzugten Tools müssen wir alle Pakete aktualisieren und JAVA installieren, da das Android SDK es zum Ausführen benötigt. Dazu können Sie die folgenden Befehle in der unten angegebenen Reihenfolge ausführen:
sudo apt update
sudo apt install default-jdk
Sobald JAVA auf dem Computer installiert ist, können wir den folgenden Befehl ausführen, um die Java-Version zu überprüfen und sicherzustellen, dass sie korrekt installiert wurde:
java -version
Die Ausgabe muss so aussehen
openjdk version "10.0.1" 2018-04-17
OpenJDK Runtime Environment (build 10.0.1+10-Ubuntu-3ubuntu1)
OpenJDK 64-Bit Server VM (build 10.0.1+10-Ubuntu-3ubuntu1, mixed mode)
Nach erfolgreicher JAVA-Installation können wir mit der Installation des Android SDK fortfahren. Wir müssen die Binärdateien von der Android Developers Website herunterladen. Wenn Sie den obigen Link im Browser öffnen, finden Sie verfügbare ZIP-Dateien im Abschnitt "Nur Befehlszeilentools". Um Binärdateien vom Terminal herunterzuladen, führen Sie den folgenden Befehl aus:
wget https://developer.android.com/studio/#downloads
Sobald es installiert ist, entpacken Sie es mit dem folgenden Befehl
unzip sdk-tools-linux-3859397.zip
Ein neues Verzeichnis mit dem Namen Tools wird erstellt. Um die Installation abzuschließen, müssen wir die folgenden Pfade zu unserer PATH-Umgebungsvariable hinzufügen. Dazu können Sie den folgenden Befehl ausführen:
export PATH=/home/ubuntu/tools:/home/ubuntu/tools/bin:$PATH
Wenn Sie das SDK-Tools-Paket in ein anderes Verzeichnis heruntergeladen oder entpackt haben, vergessen Sie bitte nicht, die entsprechenden Pfade zu verwenden. Um die Verzeichnisse dauerhaft hinzuzufügen, fügen Sie einfach die obige Zeile zu ~/.bashrc
hinzu oder ~/.profile
Dateien.
Android SDK Manager-Nutzung vom Terminal aus
Sobald das Android SDK installiert wurde, können wir sdkmanager
verwenden Tool zum Anzeigen, Installieren, Aktualisieren und Deinstallieren von Paketen für das Android SDK vom Terminal aus.
Installierte, verfügbare Pakete und Updates auflisten
Um alle installierten, verfügbaren und aktualisierten Pakete aufzulisten, können wir Folgendes ausführen:
sdkmanager --list
Die Ausgabe sieht wie folgt aus:
Installed packages:
Path | Version | Description | Location
------- | ------- | ------- | -------
platform-tools | 27.0.1 | Android SDK Platform-Tools | platform-tools/
tools | 26.0.1 | Android SDK Tools 26.0.1 | tools/
Available Packages:
Path | Version | Description
------- | ------- | -------
add-ons;addon-g..._apis-google-15 | 3 | Google APIs
add-ons;addon-g..._apis-google-16 | 4 | Google APIs
add-ons;addon-g..._apis-google-17 | 4 | Google APIs
add-ons;addon-g..._apis-google-18 | 4 | Google APIs
add-ons;addon-g..._apis-google-19 | 20 | Google APIs
add-ons;addon-g..._apis-google-21 | 1 | Google APIs
add-ons;addon-g..._apis-google-22 | 1 | Google APIs
add-ons;addon-g..._apis-google-23 | 1 | Google APIs
add-ons;addon-g..._apis-google-24 | 1 | Google APIs
add-ons;addon-g...e_gdk-google-19 | 11 | Glass Development Kit Preview
...
system-images;a...s_playstore;x86 | 2 | Google Play Intel x86 Atom Sys...
system-images;a...laystore;x86_64 | 2 | Google Play Intel x86 Atom_64 ...
tools | 26.1.1 | Android SDK Tools
Available Updates:
ID | Installed | Available
------- | ------- | -------
tools | 26.0.1 | 26.1.1
done
Beim Ausführen dieses Befehls können Probleme auftreten. Z.B. Die Ausgabe des Befehls kann ein Fehler wie der folgende sein:
Exception in thread "main" java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
at com.android.repository.api.SchemaModule$SchemaModuleVersion.<init>(SchemaModule.java:156)
at com.android.repository.api.SchemaModule.<init>(SchemaModule.java:75)
at com.android.sdklib.repository.AndroidSdkHandler.<clinit>(AndroidSdkHandler.java:81)
at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:117)
at com.android.sdklib.tool.SdkManagerCli.main(SdkManagerCli.java:93)
Caused by: java.lang.ClassNotFoundException: javax.xml.bind.annotation.XmlSchema
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:582)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:190)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:499)
... 5 more
Um dieses Problem zu beheben, bearbeiten Sie das Skript sdkamanger, das sich im Ordner bin des Installationsordners befindet (in unserem Fall lautete der vollständige Pfad zur Datei /home/ubuntu/tools/bin/sdkamanager
) und fügen Sie in der 31. Zeile die folgende Zeile hinzu:
-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
Nach der Bearbeitung muss diese Zeile wie folgt aussehen:
DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
Nachdem Sie die Datei bearbeitet und gespeichert haben, können Sie sdkmanager --list
ausführen erneut befehlen. Es werden nur installierte Pakete angezeigt und es erscheint eine weitere Fehlermeldung wie die folgende:
Warning: javax.net.ssl.SSLException: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
Warning: Failed to download any source lists!
Warning: File /home/ubuntu/.android/repositories.cfg could not be loaded.
Tatsächlich enthält die obige Nachricht zwei separate Fehler. Eine hängt mit der sicheren Verbindung zusammen, aufgrund derer verfügbare Pakete nicht angezeigt und die Pakete nicht auf Updates überprüft werden können. Der zweite besagt, dass sdkmanager /home/ubuntu/.android/repositories.cfg
nicht laden kann Datei.
Um die Fehler zu beheben, erstellen wir die Datei repositories.cfg (da sie standardmäßig nicht erstellt wurde) und führen sdkmanager --list
aus Befehl mit --no_https
Flagge. Führen Sie die folgenden Befehle in der folgenden Reihenfolge aus:
touch /home/ubuntu/.android/repositories.cfg
sdkmanager --no_https --list
Nachdem Sie diese Befehle ausgeführt haben, können Sie die oben in diesem Artikel gezeigte Ausgabe sehen.
Installieren, aktualisieren und deinstallieren Sie Pakete mit sdkmanager
Führen Sie den folgenden Befehl aus, um das Paket zu installieren:
sdkmanager --no_https [package_name]
Wenn Sie mehrere Pakete deinstallieren möchten, können Sie sie zu einer Datei hinzufügen und das Flag --package_file verwenden. Zum Beispiel
sdkmanager --no_https --package_file=/path/to/package_file
Beachten Sie, dass Paketname aus der Liste der verfügbaren Pakete stammen muss und wenn Sie no_https
nicht verwenden flag wird derselbe Fehler ausgegeben, als wir sdkmanager --list
ausgeführt haben Befehl.
Um alle Pakete zu aktualisieren, können Sie Folgendes ausführen:
sdkmanager --no_https --update
Beachten Sie, dass Sie beim Aktualisieren von SDK-Tools /home/ubuntu/tools/bin/sdkamanager
bearbeiten müssen Datei erneut und fügen Sie -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
hinzu in der 31. Zeile, da die oben erwähnte Datei vom Server geholt und zur Standarddatei wird.
Um das Paket zu deinstallieren, führen Sie den folgenden Befehl aus:
sdkmanager --uninstall [package_name]
oder
sdkmanager --uninstall --package_file=/path/to/package_file
Lesen Sie auch:
- So installieren Sie Android SDK Manager auf Ubuntu 16.04
- So installieren Sie Java 8 auf Ubuntu 18.04
Die Installation von Android SDK Manager selbst ist sehr einfach, aber während des Vorgangs können verschiedene Probleme im Zusammenhang mit JAVA auftreten. Es gibt jedoch Problemumgehungen, die für Arten von Problemen beschrieben werden, mit denen Sie konfrontiert werden können. Wenn Sie also dieses Tutorial verwenden, können Sie sicher sein, dass es funktioniert.