Jenkinsで CIを行うための環境づくりのため、Androidアプリのビルドをコマンドラインで行うビルドターゲット環境を作る必要があった。その時のメモ。
0. 環境
- AlmaLinux (x64)
1. Java環境を用意 (Android Studioを使用)
Android Studioをダウンロード → ~/Projects/android-studio に展開
Download Android Studio & App Tools - Android Developers
openJDKでも問題なさそうだが試していない
2. コマンドラインツールを用意
上記リンクの下の方にある "Command line tools only"からダウンロード → ~/Projects/android_sdkの下に展開
sdkmanager | Android デベロッパー | Android Developers に書かれている作業を行う。
- 解凍した cmdline-tools ディレクトリに latest というサブディレクトリを作成
- 元の cmdline-tools ディレクトリの内容(lib ディレクトリ、bin ディレクトリ、NOTICE.txt ファイル、source.properties ファイルなど)を、新しく作成した latest ディレクトリに移動
android_sdk/ |-- cmdline-tools | `-- latest
3. 環境変数の設定
export JAVA_HOME=$HOME/Projects/android-studio/jre export PATH="$PATH:$HOME/Projects/android_sdk/cmdline-tools/latest/bin" export ANDROID_HOME=$HOME/Projects/android_sdk
これで sdkmanagerコマンドが使えるようになる。
4. 必要なツールのインストール
sdkmanager --install 'patcher;v4' 'platforms;android-33' 'build-tools;30.0.3'
ライセンスの受諾をする必要があったかもしれない。
sdkmanager --licenses
5. アプリをビルドする
適当なAndroidアプリを作る、もしくはリポジトリから引っ張ってくる。
アプリのルートディレクトリで以下を実行すると、うまくいったら apkが作られることを確認できる。
./gradlew app:assemble