我当时在Android Studio中构建测试应用,然后在事件日志中显示:
Android Studio正在使用以下JDK位置:C:\ Program Files \ Android \ Android Studio \ jre与Gradle不同 默认情况下使用:C:\ Program Files(x86)\ Java \ jdk1.8.0_181使用 如果Gradle,不同的位置可能会产生多个Gradle守护进程 使用Android Studio时,可从命令行运行任务。
然后提供了以下选项:
- 更多信息...
- 将Android Studio设置为与Gradle使用相同的JDK并进行同步
- 不再显示此警告
我点击了:
将Android Studio设置为与Gradle使用相同的JDK并进行同步
然后我的应用不再想要构建。
这是错误:
Gradle同步失败:无法启动守护进程。
这个 问题可能是由于守护程序的配置不正确造成的。例如,使用了无法识别的jvm选项。
请参阅 守护程序上的“用户手册”一章,位于 https://docs.gradle.org/5.4.1/userguide/gradle_daemon.html进程命令行:C:\ Program Files(x86)\ Java \ jdk1.8.0_181 \ bin \ java.exe -Xmx1536m -Dfile.encoding = windows-1252 -Duser.country = ZA -Duser.language = en -Duser.variant -cp C:\ Users \ {MyUserName} \。gradle \ wrapper \ dists \ gradle-5.4.1-全部\ 3221gyojl5jsh0helicew7rwx \ gradle-5.4.1 \ lib \ gradle-launcher-5.4.1.jar org.gradle.launcher.daemon.bootstrap.GradleDaemon 5.4.1
请阅读 以下过程输出以了解更多信息:
初始化期间发生错误 VM无法为1572864KB对象堆保留足够的空间 请查阅IDE日志以获取更多详细信息(“帮助” |“显示日志”)(16 s 166 ms)
我检查了事件日志:
我认为以前是这样做的:
指示gradle使用C:/ Program Files / Android / Android中的Java Studio / jre
现在它说:
指示gradle使用C:/ Program Files中的Java (x86)/Java/jdk1.8.0_181
如何将其设置回原来的状态,以便我的应用可以再次构建?
任何帮助/建议将不胜感激
答案 0 :(得分:3)
您需要更改/添加环境变量。
遵循this link了解如何更改/添加环境变量。
现在添加/修改变量'JAVA_HOME'并将路径设置为C:\Program Files\Android\Android Studio\jre
注意:当以后要在其他IDE中处理另一个Java项目时,可能必须再次将此变量更改为默认Java位置(在这种情况下,可能是C:/Program Files (x86)/Java/jdk1.8.0_181
)
答案 1 :(得分:1)
这就是我摆脱警告的方式:
1)在您的计算机上找到AS启动器脚本studio.sh
,我的位于以下位置:/opt/android-studio-3.x/bin
2)在脚本中,您会发现以下几行:
# ---------------------------------------------------------------------
# Locate a JDK installation directory which will be used to run the IDE.
# Try (in order): STUDIO_JDK, studio.jdk, ./jre64, JDK_HOME, JAVA_HOME, "java" in PATH.
# ---------------------------------------------------------------------
if [ -n "$STUDIO_JDK" -a -x "$STUDIO_JDK/bin/java" ]; then
JDK="$STUDIO_JDK"
fi
if [ -z "$JDK" -a -s "$HOME/.AndroidStudio3.6/config/studio.jdk" ]; then
USER_JRE=`"$CAT" $HOME/.AndroidStudio3.6/config/studio.jdk`
...
3)如果由于某种原因您无法将环境变量导出到启动器(就像我在xfce4会话中遇到的那样),则可以将所需的JAVA_HOME
值写入{{ 1}}文件,根据脚本,该文件在我的系统上的位置位于studio.jdk
中。
$HOME/.AndroidStudio3.6/config/studio.jdk
4)最后,通过从DE会话重新启动AS,您应该在文件->项目结构-> SDK位置窗口下看到$ echo $JAVA_HOME > $HOME/.AndroidStudio3.6/config/studio.jdk
$ cat $HOME/.AndroidStudio3.6/config/studio.jdk
/usr/lib/jvm/java-8-oracle
并设置为上述值,并且两者AS和gradle应该使用相同的JRE:
答案 2 :(得分:0)
在Android Studio上,我做了:
文件>项目结构...> SDK位置(在左窗格中)
然后在底部有一个下拉列表: JDK位置:
然后我选择/浏览到该目录:
C:\ Program Files \ Java \ jdk1.8.0_181
之后,Gradle Sync再次为我工作,但我仍然收到此警告:
Android Studio正在使用以下JDK位置: C:\ Program Files \ Java \ jdk1.8.0_181 ,与Gradle使用的不同 默认值: C:\ Program Files(x86)\ Java \ jdk1.8.0_181 。使用 如果Gradle任务,不同的位置可能会产生多个Gradle守护进程 在使用Android Studio时从命令行运行。
- 更多信息...
- 将Android Studio设置为与Gradle使用相同的JDK并同步项目
- 不再显示此警告
答案 3 :(得分:0)
答案 4 :(得分:0)
Gradle显然正在使用我的本机Java安装(来自Oracle),而Android Studio正在使用其自己的版本。
自将Android Studio升级到3.6.1以来,我一直无视此警告。 到目前为止没有问题。实际上,我已经发布了我的应用程序的新版本,没有任何问题。
如果这变得令人讨厌,并且如果您没有其他问题,则可以选择忽略以后的警告:只需按警告并选择选项,可以忽略以后与此警告相关的消息。