美文网首页
解决Mac电脑Android Studio报Execution

解决Mac电脑Android Studio报Execution

作者: 挂云帆love | 来源:发表于2021-11-26 18:08 被阅读0次

最近升级了Mac电脑系统,用gradle命令自动打包出了问题。报了Execution failed for task ':app:compileReleaseKotlin'. 如图:

1.png

原因分析

1、报错的有这句话

Make sure Gradle is running on a JDK, not JRE.

说明gradle运行的JDK有问题。打开系统.bash_profile文件,看了一下Java配置,发现自己安装的JDK没有问题。

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_121.jdk/Contents/Home
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH

2、terminal运行命令:/usr/libexec/java_home -V,查看所有安装的Java

% /usr/libexec/java_home -V
Matching Java Virtual Machines (2):
    1.8.251.08 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
    1.8.0_241 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_241.jdk/Contents/Home
/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home

1.8.0_241 (x86_64) 是我自己安装的,1.8.251.08 (x86_64)是系统的,最后一行/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home表示使用的JDK的位置,发现不是我自己安装的,打开系统的Java文件夹,发现里面没有jre文件夹,元凶找到了。

解决方法

方法1:移除系统Java

sudo rm -fr /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -fr /Library/PreferencesPanes/JavaControlPanel.prefPane
sudo rm -fr ~/Library/Application\ Support/Oracle/Java

方法2:安卓项目指定gradle的jdk位置

在gradle.properties中配置org.gradle.java.home

org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home

参考:https://stackoverflow.com/questions/55286542/kotlin-could-not-find-the-required-jdk-tools-in-the-java-installation

相关文章

网友评论

      本文标题:解决Mac电脑Android Studio报Execution

      本文链接:https://www.haomeiwen.com/subject/dujxxrtx.html