IntelliJ IDEAでAndroidアプリ開発を始めるときに、Android SDKのインストールまでに手こずったので、手順をメモしておきます。
サマリー
- SDK Managerのツールやパッケージの初回インストールはマニュアル操作で実行する
- Android SDKのインストールディレクトリに実行権限を付けるのを忘れない
chmod -R 755 *
- SDK ManagerのGUIツール(tools¥Androidコマンド)はDeprecatedなので利用しない
- 初回インストール後はIntelliJのSDK ManagerでPlatformやToolの追加をGUIで操作できるようになる
前提
環境 | バージョン |
---|---|
macOS | 10.13.5 (High Sierra) |
IntelliJ IDEA | 2018.1.5 (Ultimate Edition) |
JDK | 8 (9,10もインストール済み) |
(2018.6.24時点) |
作業はrootユーザーで実施した。
rootでなくてもSetUp可能だが、JDKと同じディレクトリ(/Library)にAndroid SDKを置いておきたかったため。
SDK Managerのコマンドラインツールのインストール
公式のAndroid Developerサイトから、Command line tools onlyセクションのSDK tools packageをダウンロードする
ダウンロードしたzipを解凍すると、"tools"ディレクトリが出来るのでこれを任意のディレクトリに置く。
ちなみにこの後の作業で、toolsディレクトリと同階層にSDKのパッケージディレクトリが作られるので"Android"のような親ディレクトリを作って置いた方が良い。
今回は/Library/Android/sdk/tools
とディレクトリ階層を作った。
SDKディレクトリのパーミッションと所有者の変更
置いたSDKディレクトリ配下のコマンドやライブラリをIntelliJやterminalで実行できるように設定した
chown -R root:wheel /Library/Android/sdk
chmod -R 777 /Library/Android/sdk
chownは必要無いかもしれないが、Libraryディレクトリ配下に置いたのとJDKと同じ条件にしておきたかったので設定した。
chmodを777
にしたのは、設定完了後IntteliJからのSDKの追加・更新ができるようにするため。
sdkmanagerコマンドを実行してjava.lang.NoClassDefFoundErrorが出力された場合
java.lang.NoClassDefFoundError: javax/xml/bind/annotation/XmlSchema
が出力された場合、Java EE(Jakarta EE)のAPIを利用しようとしていることが原因のため、こちらを参考に、このAPIの利用を無視するように設定変更する
- エディタで
/Library/Android/sdk/tools/bin/sdkmanager
を開く -
DEFAULT_JVM_OPTS
変数を探す -
DEFAULT_JVM_OPTS
変数の値に-XX:+IgnoreUnrecognizedVMOptions --add-modules java.se.ee
を追加する
sdkmanagerコマンドで、必要なパッケージをインストールする
sdkmanagerへの実行PATHは通していない。通していれば sdkmanager
コマンドで実行できる
最新のパッケージ情報に更新する
/Library/Android/sdk/tools/bin/sdkmanager --update
パッケージリストを表示し、Android platformとbuild toolのバージョンタグを確認する
/Library/Android/sdk/tools/bin/sdkmanager --list
(2018.6時点の最新は28)
Android Platformをインストールする
/Library/Android/sdk/tools/bin/sdkmanager "platforms;android-28"
Android BuildToolをインストールする
/Library/Android/sdk/tools/bin/sdkmanager "build-tools;28.0.0"
インストールが完了すると、Android/sdk配下のディレクトリ構成が以下のようになる
IntelliJ IDEAにSDKをSetUpする
File > Other Settings > Default Project Structure
を選択する
(Projectを閉じた状態の"Welcome to IntelliJ IDEA"画面の右下Configure > Project Defaults > Project Structure
からでも同じ)
Platgform Settings > SDKs
を選択し、Android SDKを選択する
SDKのPathを聞かれたら/Library/Android/sdk
を指定して[Open]する
JDKとAndroid SDKのVersionを指定して[OK]する
これでAndroidアプリの開発を進めることができました。
実際にはアプリのプロジェクトを構築する際に、別バージョンのSDKやAVD、Emulatorなどもインストールしたが、これらは全てIntelliJから実行したので割愛します。
IntelliJ IDEAのSDK Managerについて
セットアップ完了後、Preferences > Appearance & Behavior > System Settings > Android SDK
やツールバーからSDK Managerを実行できるようになった。(Android Studioと同じような操作ができた。)

メモ:sdkmanager
のダウンロードやコマンド実行を行わないで、IntelliJのAndroid SDK Location > Edit
からもToolやSDKがダウンロードできそうだったが、ダウンロードが途中で失敗したり、[Finish]ボタンが押せなかったり、IntelliJ自体がフリーズしてしてしまうため、Edit
は利用しない方が良さそう。
参考1
参考2
参考