Android StudioのOS X版は、Android Studio.app/sdkとしてAndroid SDKを内蔵しています。これは、言い換えればいままでHomebrewなどで導入していたAndroid SDKは不要になったということです。また、古いAndroid SDKを使っているとエラーになるという話も聞いています(どうエラーになるのかまでは確認していません)。
そこで、Android Studio.app導入に際してはHomebrewのandroid-sdkを置き換えることを前提とし、以下の手順を踏むことにしました。
- Homebrewで入れたSDKをアンインストールします。
- /usr/local/opt/android-sdk(Cellerへのシンボリックリンク)を外して/opt/android-sdkを(/Applications/Android Studio.app/sdkへのシンボリックリンクとして)新設します(/usr/local/optはHomebrewが使っているため、避けた方がよいと判断しました)。
- /etc/launchd.confの環境変数
ANDROID_SDK_ROOT
を設定しなおします(launchdのsetenvは空白を含む引数を許容しません。すなわちsetenv ANDROID_SDK_ROOT /Applications/Android Studio.app/sdk
という設定はできないということです。「"..."
」でくくることも出来ない様子です)。 - OS Xを再起動します。
- ~/.bashrcでPATHを通します。
1. Homebrewで入れたSDKをアンインストールします。
h12o@Exegesis:~$ brew uninstall android-sdk
h12o@Exegesis:~$
2. /usr/local/opt/android-sdkを外して/opt/android-sdkを新設します。
h12o@Exegesis:~$ rm -f /usr/local/opt/android-sdk
h12o@Exegesis:~$ sudo ln -s '/Applications/Android Studio.app/sdk' /opt/android-sdk
h12o@Exegesis:~$ ls -ld /opt/android-sdk
lrwxr-xr-x 1 root admin 36 5 16 11:31 /opt/android-sdk -> /Applications/Android Studio.app/sdk
h12o@Exegesis:~$ /opt/android-sdk/android
h12o@Exegesis:~$
最後に「/opt/android-sdk/android」を起動したら、SDKをインストールしなおす必要があります。
3. /etc/launchd.confの環境変数ANDROID_SDK_ROOT
を設定しなおします。
各自好きなエディタで/etc/launchd.confを編集します。以下のようになっていれば問題ありません。
h12o@Exegesis:~$ grep 'setenv ANDROID_SDK_ROOT' /etc/launchd.conf
setenv ANDROID_SDK_ROOT /opt/android-sdk
h12o@Exegesis:~$
4. OS Xを再起動します。
(手順は省略)
5. ~/.bashrcでPATHを通します。
.bashrc
if [ -d "${ANDROID_SDK_ROOT}" ]; then
for SUBDIR in tools platform-tools; do
TOOLDIR="${ANDROID_SDK_ROOT}/${SUBDIR}"
if ! greppath "${TOOLDIR}" "${PATH}" 2>&1 > /dev/null; then
PATH="${TOOLDIR}:${PATH}"
fi
unset TOOLDIR
done
fi
「greppath」については『関数「greppath」を作って、環境変数PATHにパスが含まれていない時だけPATHにパスを追加する』を参照してください。