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
参考
