Android11の正式リリースが近づいてくる今日このごろ、Jenkinsなどのビルド環境も整備しておかないといざリリースしようと思ってもマゴついてしまうことがある。
AndroidのSdkManagerをダウンロードしてandroid11のplatform-toolsをインストールした時の記録を残す。
余談)
下記のようなコマンドを使ってインストールしていると古いツールを使っているので、sdkmanagerを使うようにした。android11のプラットフォームが候補に出てこなかった。Rは出てきたんだが、、
./tools/android list sdk -a -e

ダウンロード
以下Android Studioの公式ダウンロードページのCommand line tools onlyのところからダウンロードできる。IDEのAndroid Studioをダウンロードすれば、こちらもついてくるがIDE無しのJenkinsなどの環境用にこちらが特設されているのだと思う。
https://developer.android.com/studio#cmdline-tools
CI環境ではコマンドラインからダウンロードすると思うので以下curlコマンド
$ sudo curl -o commandlinetools https://dl.google.com/android/repository/commandlinetools-linux-6609375_latest.zip
zipを解凍する
$ unzip commandlinetools
使用コマンド
インストール可能なパッケージをリストアップ
sdkmanagerというコマンドラインツールでいろいろAndroidのSDKをインストールできる。
https://developer.android.com/studio/command-line/sdkmanager?hl=ja
Android StudioのIDEからならTools -> SdkManagerから使えるものと同じということ。
解凍したら以下のコマンドでインストールできるplatformを羅列できる。
$ tools/bin/sdkmanager --list --sdk_root=/var/lib/android-sdk
–sdk_rootにSDKのディレクトリをフルパスで指定すること。
始めての場合でも、これからSDKをインストールする空のディレクトリを指定しておくとそこにインストールできる。
環境変数ANDROID_SDK_ROOT(旧ANDROID_HOME)をこのAndroidSDKのディレクトリに指定しておくとgradlewでSDKを参照してビルドしてくれるっぽい。
https://developer.android.com/studio/command-line/variables?hl=ja
以下のような感じでインストールできるパッケージが羅列される(抜粋)。
Available Packages:
Path | Version | Description
------- | ------- | -------
platform-tools | 30.0.4 | Android SDK Platform-Tools
platforms;android-30 | 3 | Android SDK Platform 30
build.gradleに指定するtargetSdkVersionとかcompileSdkVersionと必要なパッケージが対応している。
compileSdkVersionを30 (Android11) にした場合は platforms;android-30が必要っぽい。
こちらがインストールされていないと、ビルド時に以下のようなエラーがでる。
* What went wrong:
A problem occurred configuring project ':app'.
> Failed to install the following Android SDK packages as some licences have not been accepted.
platforms;android-30 Android SDK Platform 30
To build this project, accept the SDK license agreements and install the missing components using the Android Studio SDK Manager.
Alternatively, to transfer the license agreements from one workstation to another, see http://d.android.com/r/studio-ui/export-licenses.html
インストール
$ tools/bin/sdkmanager "platform-tools" --sdk_root=/var/lib/android-sdk
$ tools/bin/sdkmanager "platforms;android-30" --sdk_root=/var/lib/android-sdk
Accept? (y/N): と出るので利用規約を呼んでyを押すとインストールできる。
Comments