2013-10-09 99 views
37

我已經看到這個相同的東西發佈了不少次,但每當我嘗試將我的項目導入到我的新工作筆記本電腦時,我總是收到此錯誤。SDK位置未找到Android Studio + Gradle

我已經從git(這是他的btw在我的舊筆記本電腦上運行良好)拉項目。

然後我去了sdk管理器,下載了所有的工具,以及所有可用的SDK。 在歡迎屏幕中,我進入了配置 - >項目默認值 - >項目結構。 Android SDK選項卡顯示沒有local.properties的項目的路徑爲/ Applications/Android Studio.app/sdk 這是正確的。 在SDK下我可以看到所有可用的SDK。 項目SDK被設置爲API 18

但是,當我試圖構建我的項目時仍然出現此錯誤。 任何人都可以告訴我我沒看過嗎?

我想建立是從services.gradle.org

+0

http://stackoverflow.com/questions/16581752/android-studio-change-android-sdk-path –

+0

我沒有改變路徑的問題我知道如何做到這一點,正如我上面所述。這一切都設置正確。 –

+1

@MathijsSegers請檢查'settings.gradle'文件是否包含在項目的根文件夾中。 – JJD

回答

42

下載我有非常類似的情況運行時的gradle 1.7(有另一臺機器上的一個項目,並將其克隆到我的筆記本電腦,看到了同樣的問題)我看着它。

錯誤消息已從Android gradle這個插件Sdk.groovy未來: https://android.googlesource.com/platform/tools/build/+/master/gradle/src/main/groovy/com/android/build/gradle/internal/Sdk.groovy

通過查看代碼,其findLocation需求來設定androidSdkDir變量,只有三種方式來做到這一點:

  • 創建local.properties文件並有sdk.dirandroid.dir行。
  • ANDROID_HOME定義的環境變量。
  • System.getProperty(「android.home」) - 我不知道它是如何工作的,但它看起來像一個Java的東西。

雖然您的Android Studio知道SDK位於該位置,但我懷疑Android Studio是否將該信息傳遞給了gradle,因此我們發現該錯誤。

我在項目根目錄下創建了local.properties文件,並放入下面一行併成功編譯了代碼。

sdk.dir = /Applications/Android Studio.app/sdk/

+0

哦,它仍然是開放的,顯然我們通過從舊機器複製所有文件而不是使用git來解決它...........所以仍然不知道爲什麼,但它解決了。 –

+1

有時Android Studio不會讀取ANDROID_HOME env var,如果它這樣做,您只需要Android Studio通常構建的local.properties,但並不總是...... – kenyee

+1

請注意,在Windows中,完整路徑看起來不像工作(即c:\無論\ sdk)。它似乎需要在同一個驅動器和絕對路徑的根(即/無論/ sdk) –

1

有同樣的問題在12的IntelliJ,即使我有ANDROID_HOME環境變量它仍然給出了同樣的錯誤。我最終在我的項目的根目錄下創建了local.properties文件(我的項目有一個主項目,在其自己的目錄中有幾個子模塊)。這解決了錯誤。

0

我克隆libgdx演示,無法導入項目。它也提醒像這樣。

Env: 

Eclipse(Android-ADT) 

window 7 

所以我在創建項目根local.properties文件,像下面

sdk.dir = D:/adt-bundle-windows-x86/sdk 

我希望這可以幫助別人!

1

在根文件夾中local.properties指定sdk.dir=<SDK_PATH>解決我的問題。

7

在根目錄下創建local.properties文件解決了我的問題 從GitHub

後,我莫名其妙地失去了這個文件,這是我的local.properties文件看起來像現在:

## This file is automatically generated by Android Studio. 
# Do not modify this file -- YOUR CHANGES WILL BE ERASED! 
# 
# This file must *NOT* be checked into Version Control Systems, 
# as it contains information specific to your local configuration. 
# 
# Location of the SDK. This is only used by Gradle. 
# For customization when using a Version Control System, please read the 
# header note. 
#Sat Feb 06 11:53:03 EST 2016 

sdk.dir=/Users/****/Library/Android/sdk 
0

複製並粘貼到本地.properties文件從您在新計算機上創建的項目到舊計算機中包含項目的文件夾,如果您不想(或者不知道如何)創建新的local.properties文件,也可以使用該文件。

1

如果沒有一個答案給你這發生在我身上的的MacBook Pro中的一個項目工作,你總是可以嘗試用別名命令傳遞sdk.dir每次運行時運行Android工作室:

alias studio='launchctl setenv ANDROID_HOME '\''/Users/username/Library/Android/sdk'\'' && open -a '\''Android Studio'\''' 
0

我注意到,如果我嘗試從命令行首先構建,我在新計算機上工作時出現此錯誤。但是,如果我從Android Studio構建,它將檢索SDK並自動創建目錄。然後,當我從命令行構建它時,它就可以工作。

0

要解決這個問題,我必須在Windows操作系統中定義ANDROID_HOME環境變量。

要做到這一點,我去了系統控制面板。
我在左欄中選擇了「高級系統設置」。
在「高級」選項卡上,我選擇了底部的「環境變量」。

在這裏,我沒有ANDROID_HOME定義的變量。對於這種情況,我選擇了「New ...」和:
1)對於「變量名稱」我輸入ANDROID_HOME,
2)對於「變量值」,我輸入了到我的SDK文件夾的路徑,例如: "C:\...\AppData\Local\Android\sdk"

然後關閉Android Studio並重新打開,並且一切正常。

感謝Dibish(https://stackoverflow.com/users/2244411/dibish)他的一篇文章給了我這個想法。

相關問題