Android Studio同步我的gradle项目后,我在事件日志中看到以下消息:
Android Studio正在使用此JDK位置:/path/to/my/project/specific/jdk
,这与Gradle默认使用的不同:/path/to/android/studio/embedded/jdk
如果在使用Android Studio时从命令行运行Gradle任务,则使用不同的位置可能会生成多个Gradle守护程序。将Android Studio设置为使用与Gradle相同的JDK并同步项目
我在Project Structure
-〉SDK Location
-〉JDK Location
-〉Other
x1c 0d1x中设置了/path/to/my/project/specific/jdk
我的.bash_profile
中包含以下内容:
export JAVA_HOME=/path/to/my/project/specific/jdk
STUDIO_JDK
文档中写道:
设置运行Studio所使用的JDK的位置。启动Android Studio时,它将按顺序检查STUDIO_JDK
、JDK_HOME
和JAVA_HOME
环境变量。
因此,我希望Android Studio能够找到/path/to/my/project/specific/jdk
,但它没有找到。是否有专门针对gradle的特殊JDK设置?
7条答案
按热度按时间aiazj4mn1#
对于
macOS
,仅在macOS Mojave10.14.6
上发生。在macOS Catalina10.15.3
上,您只需在shell中设置JAVA_HOME
。这个答案只涉及
macOS
的情况,并不意味着Linux或Windows解决方案。在
macOS
上,从Finder.app
启动时,Android Studio不会接收在.bash_profile
中定义的环境变量。您必须define your environment variables inlaunchctl
:或者,如果要使用系统定义的JDK:
但这只适用于机器的当前会话。接下来,您必须创建一个
~/Library/LaunchAgents/environment.plist
文件:或者,如果要使用系统定义的JDK:
plist将在系统重新启动后激活。您也可以使用
launchctl load ~/Library/LaunchAgents/environment.plist
立即启动它。我怀疑Android Studio实际上没有看到我的
JAVA_HOME
环境变量,因此我检查了Android Studio process' environment variables:这意味着Android Studio没有看到我的
JAVA_HOME
,正如我所怀疑的那样。接下来,我尝试从终端启动Android Studio:
这会转储更多的输出,包括我的
JAVA_HOME
。因此,我需要弄清楚如何为从Finder.app
启动的应用程序设置环境变量,我上面已经描述过了。3phpmpom2#
我开始得到这个警告后,更新到Android Studio版本3. 6。我得到以下警告:
为了修复此警告,我将项目JDK位置更改为Gradle JDK位置。
1.右键单击项目窗口中的应用程序
1.打开模块设置
1.从下拉列表中选择您的Gradle的JDK位置。在我的示例中,该位置如下:
单击应用和确定。
3pmvbmvn3#
x1c 0d1x我也使用微软的windows系统。要解决这个问题,只需按照以下简单的步骤操作。
1.设置您的JAVA_HOME环境变量以指向您安装的jdk。在我的示例中是C:\Program Files\Java\jdk-9.0.1
1.然后,在Android studio中,点击选择JDK从文件系统从您的事件日志或转到项目结构,然后SDK位置.
1.设置jdk位置,如上图所示,然后单击应用。
pgpifvop4#
我正在运行Windows,升级到AS 3.6.1时出现同样的错误。
除了Android项目之外,我还在同一台机器上构建Java项目,这两个项目使用不同版本的Java。因此,将AS / Gradle Package 器指向我的JAVA_HOME不是一个选项。
要解决这个问题,我需要环境变量JAVA_HOME指向我的Java项目,并需要JAVA_HOME for AS / Gradle指向AS附带的JRE版本。
有一个简单的解决方案。虽然有点混乱,但它很有效。要做到这一点,您需要能够看到隐藏文件。然后按如下所示对Gradle Package 器批处理文件进行mod:
转到函数:
并更改为:
这不是一个永久性的解决方案,因为它很可能会被新版本的Gradle覆盖,但它目前仍然有效,并且希望有足够长的时间让某些人(希望是Google)将AS和Is Gradle Package 器默认指向正确的位置。
ct3nt3jp5#
我使用的是Windows系统。我转到控制面板,打开环境变量并复制JAVA_HOME键的位置。我将此目录放入Android Studio中的“项目结构/SDK位置”窗口。保存更改后,Gradle能够同步,没有任何问题。“SDK位置”窗口的位置在本文的问题中。
62lalag46#
在MacOS Catalina 10.15.7上运行Android Studio 4.1时,从finder启动Android Studio仍然无法获取JAVA_HOME(无论接受答案的更新如何)。因此,Android Studio使用的是其嵌入式JDK,而gradle使用的是JAVA_HOME中指定的JDK。
在我的例子中,我并不特别关心版本(它们足够接近),所以我只是将gradle设置为使用嵌入式JDK(Android Studio默认使用的是该JDK)。如果您确实关心并且不希望使用嵌入式JDK,请遵循公认的答案。否则,我所做的可能会更快。
下面介绍如何选择将嵌入式JDK用于Gradle。至少现在Android Studio中的措辞更加明确,即此设置仅适用于Gradle使用的JDK。
6ss1mwsb7#
在我的例子中,这个问题是在我创建一个新项目时出现的。为了解决这个问题,我选择了下面显示的JDK。