更新 Mac 系统为 Big sur 后,启动 react-native 安卓项目
npx react-native run-android
报了以下错误
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':react-native-linear-gradient:compileDebugJavaWithJavac'.
> Could not find tools.jar. Please check that /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home contains a valid JDK installation.
问题分析
出现这个问题主要是新的系统内置的 Java 版本进行了更新,所以我们需要在 .zshrc
里面手动添加 java home 路径,具体操作步骤如下
第一种方法
首先执行下面命令:
/usr/libexec/java_home -V | grep jdk
输出的结果应该是如下
Matching Java Virtual Machines (1):
1.8.0_272 (x86_64) "AdoptOpenJDK" - "AdoptOpenJDK 8" /Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
我们只要拷贝下面这一串路径出来,黏贴到 ~/.zshrc
文件最后即可
export JAVA_HOME=/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
export PATH=$JAVA_HOME/bin:$PATH
注意:如果没有
zshrc
文件,也可以尝试~/.bash_profile
或者~/.bash_rc
里面操作
第二种方法
如果还不能解决问题,可以尝试另一种方法,把文件 tools.jar
从 /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/lib/
拷贝到 /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/
文件里面试试看!
第三种方法
- 到项目的安卓文件夹
- 找到
gradle.properties
文件 - 添加这一行代码
org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
- 重新启动项目