sdkmanagerは、ユーザーがAndroid SDKで利用可能なパッケージを表示、インストール、更新、およびアンインストールできるようにするCLIツールです。
このチュートリアルでは、ターミナルを使用してUbuntu18.04にAndroidSDKManagerをインストールする方法を説明します。以前、Ubuntu16.04にAndroidSDKManagerをインストールする方法を見てきました。
すでにAndroidStudioを使用している場合は、代わりにIDEからSDKパッケージを管理できるため、sdkmanagerを使用する必要はありません。 sdkmanagerツールはAndroidSDKToolsパッケージで提供されているため、sdkmanagerを使用できるように後者をインストールします。
AndroidSDKツールパッケージのインストール
推奨ツールをインストールする前に、Android SDKで実行する必要があるため、すべてのパッケージを更新してJAVAをインストールする必要があります。これを行うには、以下のコマンドを以下の順序で実行できます。
sudo apt update
sudo apt install default-jdk
マシンにJAVAがインストールされたら、次のコマンドを実行してJavaのバージョンを確認し、正しくインストールされていることを確認します。
java -version
出力は次のようになります
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)
JAVAのインストールが成功したら、AndroidSDKのインストールに進むことができます。 AndroidDevelopersWebサイトからバイナリをダウンロードする必要があります。上記のリンクをブラウザで開くと、「コマンドラインツールのみ」の部分で利用可能なzipファイルを見つけることができます。ターミナルからバイナリをダウンロードするには、次のコマンドを実行します。
wget https://developer.android.com/studio/#downloads
インストールしたら、次のコマンドで解凍します
unzip sdk-tools-linux-3859397.zip
toolsという名前の新しいディレクトリが作成されます。インストールを完了するには、PATH環境変数に次のパスを追加する必要があります。これを行うには、以下のコマンドを実行できます:
export PATH=/home/ubuntu/tools:/home/ubuntu/tools/bin:$PATH
SDK-toolsパッケージを他のディレクトリにダウンロードまたは解凍した場合は、適切なパスを使用することを忘れないでください。ディレクトリを永続的に追加するには、上記の行を~/.bashrc
に追加するだけです。 または~/.profile
ファイル。
端末からのAndroidSDKManagerの使用
Android SDKをインストールしたら、sdkmanager
を使用できます ターミナルからAndroidSDKのパッケージを表示、インストール、更新、アンインストールするためのツール。
インストールされている、利用可能なパッケージとアップデートのリスト
インストールされ、利用可能なすべてのパッケージと、実行できる更新があるパッケージを一覧表示するには、次のようにします。
sdkmanager --list
出力は次のようになります:
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
このコマンドを実行すると、問題が発生する可能性があります。例えば。コマンドの出力は、次のようなエラーになる可能性があります。
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
この問題を解決するには、インストールフォルダーのbinフォルダーにあるsdkamangerスクリプトを編集します(この場合、ファイルへのフルパスは/home/ubuntu/tools/bin/sdkamanager
でした。 )そして31行目に次の行を追加します:
-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
編集後、その行は次のようになります。
DEFAULT_JVM_OPTS='"-Dcom.android.sdklib.toolsdir=$APP_HOME" -XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee'
ファイルを編集して保存したら、sdkmanager --list
を実行できます。 もう一度コマンドします。インストールされているパッケージのみが表示され、次のような別のエラーメッセージが表示されます。
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.
実際、上記のメッセージには2つの別々のエラーがあります。 1つは、利用可能なパッケージを表示したり、パッケージの更新を確認したりできないため、安全な接続に関連しています。 2つ目は、sdkmanagerが/home/ubuntu/.android/repositories.cfg
を読み込めないことを示しています ファイル。
エラーを修正するには、repositories.cfgファイルを作成し(デフォルトでは作成されていないため)、sdkmanager --list
を実行します。 --no_https
を使用したコマンド 国旗。次のコマンドを以下の順序で実行します。
touch /home/ubuntu/.android/repositories.cfg
sdkmanager --no_https --list
これらのコマンドを実行すると、この記事で上記の出力を確認できるようになります。
sdkmanagerを使用してパッケージをインストール、更新、アンインストールします
パッケージをインストールするには、次のコマンドを実行します。
sdkmanager --no_https [package_name]
複数のパッケージをアンインストールする場合は、それらをファイルに追加して--package_fileフラグを使用できます。例
sdkmanager --no_https --package_file=/path/to/package_file
package_nameは、使用可能なパッケージリストからのものである必要があり、no_https
を使用しない場合は注意してください。 sdkmanager --list
を実行したときに同じエラーがスローされるフラグ コマンド。
すべてのパッケージを更新するには、次のコマンドを実行できます:
sdkmanager --no_https --update
SDKツールを更新する場合は、/home/ubuntu/tools/bin/sdkamanager
を編集する必要があることに注意してください。 ファイルを再作成し、-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
を追加します。 31行目では、上記のファイルがサーバーからフェッチされ、デフォルトのファイルになります。
パッケージをアンインストールするには、次のコマンドを実行します。
sdkmanager --uninstall [package_name]
または
sdkmanager --uninstall --package_file=/path/to/package_file
お読みください:
- Ubuntu16.04にAndroidSDKManagerをインストールする方法
- Ubuntu18.04にJava8をインストールする方法
Android SDK Manager自体のインストールは非常に簡単ですが、プロセス中に、JAVAに関連するさまざまな問題に直面する可能性があります。ただし、直面する可能性のある問題の種類について説明されている回避策があります。したがって、このチュートリアルを使用すると、確実に機能するようになります。