Android Studioの SDKフォルダを変更する

Android Studioが使う SDKフォルダを変更する方法についての覚書。

私が使っているAndroid StudioのVersionは0.82です。

詳細な確認まではしていません悪しからず(^^;。自己責任で。

何かあればコメントでもつけていただければと思います。

Android Studioの SDKフォルダを変更する

NDKを使いたい関係で Eclipse+ADT環境も入っているのですが、Android SDKを複数入れるのとか馬鹿らしいので

Android Studio側の設定を変更して 別フォルダにあるSDKを使いたいと思います。

ちなみに今現在の私の環境は

  • Windows 8.1 Pro 64bit
  • JDK/JRE 1.7.0-67 64bit
  • Eclipse 4.4 Luna 64bit
  • Android Studio 0.82
  • Android NDK r10 64bit

です。androidの開発関連は一つのフォルダにまとめていて

  • %USERPROFILE%\android.android
  • %USERPROFILE%\android\android-ndk-r10
  • %USERPROFILE%\android\android-sdk-windows
  • %USERPROFILE%\android\android-studio
  • %USERPROFILE%\android\eclipse
  • %USERPROFILE%\android\projects
  • %USERPROFILE%\android\workspace

影響しそうな環境変数は以下

  • ANDROID_SDK_HOME=%USERPROFILE%\android
  • ANDROID_SDK_ROOT=%ANDROID_SDK_HOME%\android-sdk-windows
  • NDK_ROOT=%ANDROID_SDK_HOME%\android-ndk-r10
  • JAVA_HOME=%ProgramFiles%\Java\jdk1.7.0_67
  • Path=%ANDROID_SDK_ROOT%\tools;%ANDROID_SDK_ROOT%\platform-tools;%Path%

今まで使ってた SDKがあるんですが、Android Studio 0.80をInstallするとBundleされたSDK(%USERPROFILE%\android\android-studio\sdk)が一緒に入ってきてしまいます。

手順

  1. Android Studioを起動する

  2. Projectが勝手に開いた場合はProjectを閉じます。

  3. Projectがすべて閉じられるとWelcome Dialogが開くと思いますので、Configureを選択

  4. Project Defaultsを選択

  5. Project Structureを選択

  6. SDK Locationに上記の SDKのパスを入力(環境変数展開できるかどうかは確認していないのでFull Path指定)

  7. %USERPROFILE%\android\android-studio\sdkを消す

  8. Android Studio再起動(念のため)

  9. Projectを開く。ここでbundleのsdkをprojectが参照していた場合、警告が出て、新しく設定したSDKを参照するようにprojectが自動的に更新されます。

  10. メニューの Invalidate Caches / Restart… から Invalidate and Restart で Cacheをクリアして更に再起動(念のため)

※ ここまで書いて Other Settings → Default Project Structureってのがある事に気が付きました、、、w

捕捉情報

以下いろいろ調査結果ですが、未検証です。

Android StudioのInstallerがやっている事

Android Studioは Installerを使ってますが、ファイルのコピーと各種VCRUNTIMEのSetupがメインで、Registry情報は僅か。Installで全ユーザではなく自分だけ、スタートメニューへの登録をしない設定でInstallした場合、

キー

HKLM\SOFTWARE\Wow6432Node\Android Studio

Path (REG_SZ)

データ

< インストールしたパス>

だけっぽいです(もちろんUninstall情報も同時に書き込まれますが)

この情報が実際に使われているのかどうかは未検証ですが、ここだけ辻褄あわせてやれば Installer使わずに利用する事も出来そうな感じ。

bin\studio.batの中では studio.batの相対パスから IDE_HOME環境変数を設定して導入パスを判別していようでした。

インストーラーが嫌いなのでこんど試してみようかなと。

SDKの設定はどこに?

さきほど変更したSDKのパスについてですが、%USERPROFILE%.AndroidStudioBeta以下に格納される事になります。

検索した範囲では config\options\jdk.table.xml の homePathが怪しい感じなんですが、詳細まで追ってません。

ファイルをコピーして環境を維持したい場合は この設定フォルダも一緒に移動させてやる必要がありそうです。

.androidは ANDROID_SDK_HOMEを変更してやれば良いのですが、.AndroidStudioBetaについては情報が見つかりませんでした。

こんなとこです。