更新 Android Studio 后出现的 Gradle 构建错误

55

我刚刚更新了Android Studio,现在当我尝试构建我的应用程序时,我收到以下Gradle错误:

Information: Compilation completed with 2 errors and 0 warnings in 28 sec
Information: 2 errors
Information: 0 warnings
Error: Gradle: : java.lang.NullPointerException
/Users/mhuggins/Sites/SmoothieFlow/build.gradle
    Error:(9, 0) Gradle: A problem occurred evaluating root project 'SmoothieFlow'.
                 > The SDK directory '/Users/mhuggins/Library/Caches/AndroidStudioPreview/compile-server/"/Applications/Android Studio.app/sdk"' does not exist.

关于Android Studio版本的详细信息:

Android Studio(I/O预览版)AI-130.709792

构建号#AI-130.709792,于2013年6月14日构建

JDK 1.6.0_43

VM:由Apple Inc提供的Java HotSpot(TM) 64位服务器VM

请问有人知道我为什么会出现这种情况以及我能做些什么来解决它吗?


1
尝试设置ANDROID_HOME环境变量指向您的SDK根目录。我不确定这是否有帮助。它对我有用,但问题是不同的。 - Alexander Kulyakhtin
似乎存在一些 SDK 引用的配置错误。请在 Android Studio 工具栏中单击 SDK 管理器,检查所有引用是否正确。 - Dhrubajyoti Gogoi
11个回答

136

尝试在项目根目录中添加一个名为“local.properties”的新文件(或修改现有文件)。 它应该包含

sdk.dir= 

在我的情况下,后面跟着SDK位置的路径

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

我认为Android Studio通常会自动创建一个文件,但是建议不要将其加入版本控制系统。我将其放入.gitignore并在我的Mac上克隆了该项目,结果出现了这个错误。奇怪的是,在0.1.5之前,没有这个文件也能正常工作。


2
对于具有多个模块的项目,请检查文件是否位于项目的根目录:如果它位于模块文件夹中(如从Eclipse迁移),则似乎无法捕获它。 - etienne
1
根据错误跟踪器显示,这个问题已经在未来版本的代码中得到了修复。https://android-review.googlesource.com/#/c/61320/ - Matt Huggins
1
我们能否在这里使用环境变量或Gradle变量而不是硬编码它? - Dheeraj Bhaskar
1
我也遇到了同样的问题,但是是关于“ndk.dir”的。这个方法对我有用!谢谢! - Thomas
在我的情况下,IDE已经采用了默认设置,但问题仍然存在。有什么建议吗? - CoDe
显示剩余4条评论

9

我在Windows XP上运行Android Studio时遇到了同样的问题。更新后,它一直给出相同的错误:Gradle: A problem occurred evaluating root project。所以我需要做的是:

1- 确保您知道您的Android Studio目录在哪里,在我的情况下,它是 C:\Documents and Settings\UserName\Local Settings\Application Data\Android\android-studio\sdk

2- 打开项目根目录

3- 找到local.properties文件并在文本编辑器中打开(记事本对我来说可以)

4- 更改sdk.dir =“添加您的SDK目录,不带引号”,并确保您在每个分隔符上使用双引号而不是单引号 sdk.dir = C:\\\ Documents and Settings \\\ UserName \\\ Local Settings \\\ Application Data \\\ Android \\\ android-studio \\\ sdk

5- 重新构建您的项目

这是唯一适用于我的方法。


感谢这个逐步解释。这是与buddahbrot相同的解决方案,但遵循您的步骤最终使其运行。谢谢=) - Bahamut
2
你可以使用正斜杠代替双反斜杠。虽然在[https://android-review.googlesource.com/#/c/62585/]中说已经修复了,但它仍然存在于最新版本(0.2.5)中。 - Derk-Jan
1
我有点困惑,为什么这里有三个反斜杠,并且它说要使用两个反斜杠? :/ - Bloke

7

我的问题在于,在OS X系统中,我需要将ANDROID_HOME设置为完整路径,例如:

export ANDROID_HOME="/Users/username/Development/android-sdk-macosx"

当使用用户目录简写符号(~)时,Gradle似乎将其视为相对目录。

1
我在Ubuntu上遇到了相同的问题。~/Android/Sdk被扩展为/home/hillshum/android-studio/~/Android/Sdk或类似的内容。 - Hilton Shumway

2

//根据我的Android Studio项目文件夹

只需进入本地文件夹,然后在记事本中打开它,根据您的项目SDK文件,在文件中加入以下行:

sdk.dir=C\:/Users/raj/AppData/Local/Android/android-studio/sdk //


2

对我来说,ANDROID_HOME没有起作用。它显示路径未找到/不存在的错误,这是完全愚蠢的。我还尝试创建带有sdk.dir=D:/android/sdklocal.properties文件 - 这也无法使用,显示相同的错误,说这个路径不存在。帮助我的是一个相对路径,所以当我设置时。

sdk.dir=../../../android/sdk

它开始工作了。


1
“这个文件是由Android Studio自动生成的。 #不要修改此文件--您的更改将被删除!”当他们打开local.properties时,对此感到困惑的人:
如果文件被覆盖了,它仍然可以工作,只需再次更改即可。
要轻松找到sdk的位置,请尝试:文件->项目结构->Android SDK。

0

这对我来说很有效,可以消除有关Gradle错误的“重试”提示。

File >> Project Structure >> Project >> Android Gradle Plugin Version = 3.2.1 and Gradle Version 5.1.1 >> Ok >> Apply

Android Studio >> Build >> Make Project

你可能会遇到这个问题,但是它会再次弹出"更新Gradle"。我选择"不要为此项目提醒我"


0

最有可能的原因是local.properties文件不正确。

在根目录和应用程序文件夹中检查local.properties文件,并确保它们指向SDK文件夹。两个文件都必须指向SDK文件夹才能正常工作。

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


0
找了好久才找到解决方法,但最终在buddahbrot的建议下解决了。需要在项目文件夹的根目录中创建一个local.properties文件,并在其中添加sdk.dir=后跟sdk位置的路径。
在Windows中只需设置ANDROID_HOME即可正常工作,但在OSX中需要指定sdk.dir。

0

我曾经遇到过同样的问题,因为我的办公室电脑是32位的,而家里的电脑是64位的。

local.properties文件中,我将

sdk.dir=C:/Program Files/Android/android-studio/sdk

改为了

sdk.dir=C:/Program Files (x86)/Android/android-studio1/sdk

注意Program Files后面的x86版本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接