PC パソコン

Android Studio「SDK location not found」の原因と解決方法

Android Studioでプロジェクトを開いたときやGradle Syncを実行したときに、
「SDK location not found」
というエラーが表示されることがあります。

このエラーは、Android StudioやGradleがAndroid SDKの保存場所を特定できないときに発生します。
主な原因としては、Android SDKがインストールされていない、
local.propertiesの設定に問題がある、
SDKのパスが変更されている、
環境変数が正しく設定されていないなどが考えられます。

この記事では、Android Studioで「SDK location not found」と表示される主な原因と解決方法を解説します。

「SDK location not found」とは

「SDK location not found」は、
GradleがAndroid SDKの場所を確認できないときに表示されるエラーです。

例えば、次のようなエラーが表示されることがあります。

SDK location not found. Define a valid SDK location with an ANDROID_HOME environment variable
or by setting the sdk.dir path in your project's local properties file at 'local.properties'.

この場合は、Android SDK自体が存在しない場合だけでなく、
Android SDKの場所を示す設定が正しく読み込まれていない場合にも発生します。

主な原因

Android Studioで「SDK location not found」が発生する主な原因には、次のようなものがあります。

  • Android SDKがインストールされていない
  • local.propertiesが存在しない
  • local.propertiessdk.dirが正しくない
  • Android SDKの保存場所を変更した
  • 別のPCからプロジェクトをコピーした
  • Gitなどから取得したプロジェクトにlocal.propertiesが含まれていない
  • 環境変数ANDROID_HOMEが設定されていない
  • 環境変数に古いSDKパスが残っている
  • SDKのフォルダが削除または移動されている
  • パスの記述方法に誤りがある

ポイント:
「SDK location not found」は、
Android SDKのバージョンが合っていないという意味ではなく、
Android SDKが保存されている場所をGradleが特定できないことを示すエラーです。

Android SDKがインストールされているか確認する

まず、Android SDKがAndroid Studioにインストールされているか確認します。

Android StudioのSDK Managerを開き、
Android SDKの保存場所と、必要なSDK PlatformやSDK Toolsがインストールされているか確認します。

Android SDK自体がインストールされていない場合は、
SDK Managerから必要なSDKをインストールします。

Android SDKの保存場所を確認する

Android Studioでは、Android SDKが保存されている場所を確認できます。

SDK Managerなどに表示されているAndroid SDK Locationを確認し、
実際にそのフォルダが存在するか確認します。

SDKの場所は環境によって異なります。

例えば、macOSでは次のような場所が使用されることがあります。

/Users/ユーザー名/Library/Android/sdk

Windowsでは、次のような場所が使用されることがあります。

C:\Users\ユーザー名\AppData\Local\Android\Sdk

local.propertiesを確認する

Androidプロジェクトでは、
プロジェクト直下の
local.properties
にAndroid SDKの場所が記載されている場合があります。

例えば、次のように設定されます。

sdk.dir=/Users/ユーザー名/Library/Android/sdk

Windowsでは、環境によって次のように記載されることがあります。

sdk.dir=C\:\\Users\\ユーザー名\\AppData\\Local\\Android\\Sdk

sdk.dirに指定されている場所と、
実際のAndroid SDKの保存場所が一致しているか確認します。

local.propertiesが存在しない場合

local.propertiesが存在しない場合、
Android SDKの場所をGradleが特定できず、
「SDK location not found」が発生することがあります。

Android Studioでプロジェクトを開き直すことで、
環境によってはlocal.propertiesが自動的に作成される場合があります。

自動的に作成されない場合は、
プロジェクト直下にlocal.propertiesを作成し、
正しいAndroid SDKの場所を設定します。

別のPCからコピーしたプロジェクトを確認する

別のPCからAndroidプロジェクトをコピーした場合、
local.propertiesにコピー元のPCのSDKパスが残っていることがあります。

例えば、コピー元では次の場所だったとしても、

sdk.dir=/Users/user1/Library/Android/sdk

コピー先では同じ場所にAndroid SDKが存在するとは限りません。

現在使用しているPCのAndroid SDK Locationを確認し、
local.propertiessdk.dirを修正します。

Gitから取得したプロジェクトを確認する

GitHubなどからAndroidプロジェクトを取得した場合、
local.propertiesが含まれていないことがあります。

local.propertiesにはPCごとのローカル環境のパスが記載されるため、
通常はGitの管理対象から除外されていることがあります。

そのため、プロジェクトを取得したPC側で、
自分のAndroid SDKの場所に合わせたlocal.propertiesを用意する必要があります。

SDKの場所を変更した場合

Android SDKのフォルダを移動した場合、
local.propertiesや環境変数に以前の場所が残っていると、
「SDK location not found」が発生することがあります。

SDKの現在の保存場所を確認し、
sdk.dirなどの設定を新しいパスへ変更します。

環境変数ANDROID_HOMEを確認する

環境によっては、
Android SDKの場所を示すために
ANDROID_HOME
が設定されています。

例えば、macOSやLinuxでは次のように設定される場合があります。

export ANDROID_HOME=$HOME/Library/Android/sdk

Windowsでは、環境変数にAndroid SDKのパスが設定されている場合があります。

ANDROID_HOMEが設定されている場合は、
指定されている場所が実際のAndroid SDKの場所と一致しているか確認します。

ANDROID_HOMEに古いパスが残っていないか確認する

以前Android SDKを別の場所に保存していた場合、
環境変数ANDROID_HOMEに古いパスが残っていることがあります。

古いSDKパスを参照している場合は、
現在使用しているAndroid SDKの場所へ修正します。

ANDROID_SDK_ROOTを確認する

環境によっては、
ANDROID_SDK_ROOT
が設定されている場合があります。

Android SDKに関連する複数の環境変数が異なる場所を指定している場合は、
設定の不一致によって問題が発生する可能性があります。

Android Studioで表示されているAndroid SDK Locationと、
環境変数の内容が一致しているか確認します。

パスの記述ミスを確認する

local.propertiesに記載されているSDKパスに、
スペルミスや記述方法の誤りがある場合もSDKを認識できません。

特にWindowsでは、
バックスラッシュの記述方法に注意します。

sdk.dir=C\:\\Users\\user\\AppData\\Local\\Android\\Sdk

実際に存在するフォルダを指定しているか確認します。

local.propertiesの場所を確認する

local.propertiesは、
通常はAndroidプロジェクトのルートディレクトリに配置されます。

別のフォルダに作成している場合は、
Gradleから正しく読み込まれない可能性があります。

settings.gradlesettings.gradle.ktsなどがある
プロジェクトのルート付近に配置されているか確認します。

local.propertiesのファイル名を確認する

ファイル名が
local.properties.txt
などになっている場合は、
Gradleがlocal.propertiesとして認識できません。

ファイル名が正確に
local.properties
になっているか確認します。

Gradle Syncを再実行する

SDKの場所やlocal.propertiesを修正した後は、
Gradle Syncを再実行します。

Android Studioから
Sync Project with Gradle Files
などを実行します。

設定が正しく修正されていれば、
GradleがAndroid SDKを認識して同期できる場合があります。

Android Studioを再起動する

SDKの保存場所や環境変数を変更しても反映されない場合は、
Android Studioを再起動します。

特に環境変数を変更した場合は、
Android Studioを起動したままでは新しい設定が反映されない場合があります。

ターミナルも再起動する

macOSやLinuxなどで環境変数を変更した場合は、
開いているTerminalに古い環境変数が残っていることがあります。

新しいTerminalを開き直し、
必要に応じてGradleコマンドを再実行します。

local.propertiesを再作成する

local.propertiesの内容に問題があるか判断できない場合は、
現在のファイルを確認したうえで再作成する方法があります。

Android SDKの正しい場所を確認し、
次のようにsdk.dirを設定します。

sdk.dir=/正しい/Android/SDK/のパス

再作成後にGradle Syncを実行します。

Android SDKが削除されていないか確認する

local.propertiesのパスが正しく見えても、
指定されているフォルダ自体が削除されている場合があります。

FinderやエクスプローラーなどでSDKフォルダを確認し、
実際にAndroid SDKが存在するか確認します。

SDKが存在しない場合は、
Android StudioのSDK Managerなどから再インストールします。

SDK ManagerでSDK Locationを確認する

SDKの場所が分からない場合は、
Android StudioのSDK Managerに表示されるAndroid SDK Locationを基準に確認します。

そのパスを
local.propertiessdk.dirと比較し、
異なっている場合は修正します。

コマンドラインからビルドした場合

Android Studioでは正常に動作するものの、
TerminalからGradleを実行した場合だけ「SDK location not found」が発生することがあります。

この場合は、
local.propertiesだけでなく、
Terminal側で読み込まれている環境変数も確認します。

Android StudioとTerminalで異なる環境設定が使用されていないか確認します。

CIや自動ビルド環境で発生する場合

CIや自動ビルド環境では、
開発用PCとは異なりlocal.propertiesが存在しない場合があります。

また、Android SDKのインストール場所も異なることがあります。

CI環境でAndroid SDKがインストールされているか確認し、
その環境に合わせたSDKパスや環境変数が設定されているか確認します。

エラー別の確認ポイント

「SDK location not found」と一緒に表示される内容によって、
確認すべき場所をある程度絞り込むことができます。

状況 主な確認ポイント
local.propertiesがない ファイルの作成、sdk.dirの設定
sdk.dirの場所が存在しない Android SDK Location、SDKの移動・削除
別のPCからコピーした コピー元のSDKパスが残っていないか
Gitから取得した local.propertiesの作成
環境変数を変更した ANDROID_HOME、ANDROID_SDK_ROOT、再起動
Terminalだけ失敗する Terminal側の環境変数
CIだけ失敗する CI環境のSDKインストール場所、環境変数

解決しない場合の確認手順

原因が分からない場合は、次の順番で確認すると問題を切り分けやすくなります。

  1. Android StudioのSDK ManagerでAndroid SDK Locationを確認する
  2. 実際にそのSDKフォルダが存在するか確認する
  3. プロジェクト直下にlocal.propertiesがあるか確認する
  4. sdk.dirが正しいSDKの場所を指定しているか確認する
  5. 別のPCのSDKパスが残っていないか確認する
  6. ファイル名が正確にlocal.propertiesになっているか確認する
  7. ANDROID_HOMEを確認する
  8. ANDROID_SDK_ROOTが設定されている場合は内容を確認する
  9. SDKを移動または削除していないか確認する
  10. Gradle Syncを再実行する
  11. Android Studioを再起動する
  12. 環境変数を変更した場合はTerminalも開き直す
  13. 必要に応じてAndroid SDKを再インストールする

重要:
「SDK location not found」が表示された場合は、
まずAndroid Studioで現在のAndroid SDK Locationを確認し、
その場所とlocal.propertiessdk.dirが一致しているか確認することが重要です。

まとめ

Android Studioの
「SDK location not found」
は、GradleがAndroid SDKの保存場所を特定できない場合に表示されるエラーです。

Android SDKがインストールされていない場合だけでなく、
local.propertiesの不足やsdk.dirの誤り、
SDKの移動、別のPCからのプロジェクトコピー、
ANDROID_HOMEなどの環境変数の設定が原因になる場合があります。

まずAndroid StudioのSDK Managerで正しいAndroid SDK Locationを確認し、
プロジェクトのlocal.propertiesに設定されているsdk.dirと一致しているか確認します。
そのうえで、環境変数やSDKフォルダの存在を確認すると、原因を効率よく絞り込むことができます。