最近升級了Mac電腦系統(tǒng),用gradle命令自動打包出了問題。報了Execution failed for task ':app:compileReleaseKotlin'. 如圖:

1.png
原因分析
1、報錯的有這句話
Make sure Gradle is running on a JDK, not JRE.
說明gradle運(yùn)行的JDK有問題。打開系統(tǒng).bash_profile文件,看了一下Java配置,發(fā)現(xiàn)自己安裝的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運(yùn)行命令:/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)是系統(tǒng)的,最后一行/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home表示使用的JDK的位置,發(fā)現(xiàn)不是我自己安裝的,打開系統(tǒng)的Java文件夾,發(fā)現(xiàn)里面沒有jre文件夾,元兇找到了。
解決方法
方法1:移除系統(tǒng)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