Android SDKのインストール on Linux
Linux上で、Android Studioをインストールせずに、ExpoからAndroid Emulatorを起動させたく、Ubuntu上にAndroid SDKの環境を整えたので、共有します
ゴールは、エミュレータを起動することです
できるだけCUI上で行えるように進めていきます
環境
- Ubuntu 24.04
最終的なディレクトリ構成
$ tree /opt/android/ -L 2
/opt/android
└── sdk
├── build-tools
├── cmdline-tools
├── emulator
├── licenses
├── platform-tools
├── platforms
└── system-images
手順
1. commandline-toolsをインストールする
このcommandline-toolsの中に、sdkmanagerというコマンドがあり、今後これを使って色々インストールしたいです
以下のページの下部にある「コマンドライン ツールのみ」のところから、Linux版のzipファイルをダウンロードします
このzipファイルを展開し、以下の位置に保存します
$ tree /opt/android/sdk/cmdline-tools/latest/ -L 2
/opt/android/sdk/cmdline-tools/latest/
├── NOTICE.txt
├── bin
├── lib
└── source.properties
(ダウンロードしたzipファイルを展開し、その中身を/opt/android/sdk/cmdline-tools/latest/に配置してください)
sdkmanagerをshell上から使えるようにするために、PATHを通しておきます
bashを使っているのであれば、.bashrcや.bash_profile、zshであれば.zshrcや.zshenvなどに以下を記載します
export ANDROID_SDK_ROOT="/opt/android/sdk"
export ANDROID_HOME="$ANDROID_SDK_ROOT"
export PATH="/opt/android/sdk/cmdline-tools/latest/bin:$PATH" # ここに`sdkmanger`が入っている
書き換えたあと、反映させるためにshellを再起動するなり
exec zsh # zshの場合
exec bash # bashの場合
するなりします
2. platform-toolsをインストールする
sdkmanagerがshellから使えるようになったので、これを使って様々なものをインストールしていきます
platform-toolsをインストールします
sdkmanager platform-tools
platform-toolsの中にはadbが含まれていて、adbは実機Androidと通信する際に使います
3. build-toolsをインストールする
sdkmanager "build-tools;34.0.0"
build-toolsは、作ったアプリをビルドするときに必要になります
build-toolsのバージョンは、ここを確認し、最新バージョンをインストールすると良いと思います(記事執筆時点の2025-12-07では34.0.0が最新)
4. platformsをインストールする
sdkmanager "platforms;android-36"
platformsは、エミュレータを動かすときに使います
バージョンは、エミュレートしたいAndroidのAPIレベルを指定することになります
5. emulatorをインストールする
sdkmanager emulator
emulatorはその名の通り、エミュレータを起動するときに使います
6. system-imagesをインストールする
使いたいAndroidのapi_level、arch(x86_64やx86など)、variant(google_apisを指定しておけば通常の範囲ではok)を確認し、以下のコマンドでインストールする
sdkmanager "system-images;android-<api_level>;<variant>;<arch>"
# 例
sdkmanager "system-images;android-36;google_apis;x86_64"
7. 仮想デバイスを作成する
avdmanager create avd -n {{仮想デバイスの名前}} -d {{デバイス定義}} -k "system-images;android-{{api_level}};{{variant}};{{arch}}"
# 例
avdmanager create avd -n pixel_7_api34 -d pixel_7 -k "system-images;android-34;google_apis;x86_64"
{{デバイス定義}}は、以下のコマンドを使って候補を取得できる
$ avdmanager list device
Available devices definitions:
id: 0 or "automotive_1024p_landscape"
Name: Automotive (1024p landscape)
OEM : Google
Tag : android-automotive-playstore
---------
...
---------
id: 38 or "pixel_7"
Name: Pixel 7
OEM : Google
---------
...
8. エミュレータを起動する
emulator -avd {{仮想デバイスの名前}}

トラブルシューティング
出会ったエラーを記載していきます
requires hardware accelerationと言われる
x86_64 emulation currently requires hardware acceleration!
kvmを追加します
sudo apt install qemu-kvm
sudo modprobe kvm_amd # PCのCPUがAMDの場合
sudo modprobe kvm_intel # PCのCPUがIntelの場合
modprobeがうまく動かないときは、BIOSでCPUのSVMの設定がEnableになっているかを確認します
僕の場合、Disableになっていてうまく動きませんでした
仮想デバイスと使っているPCのアーキテクチャが違うとき
Avd's CPU Architecture 'arm64' is not supported by the QEMU2 emulator on x86_64 host. System image must match the host architecture.
というメッセージが出る
諦めておとなしく使っているPCのアーキテクチャを使いました
Discussion