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.
当我升级到Mac os Big sur并运行时,
npx react-native run-android
我收到此错误(Android)。我已经尝试了Stack Overflow的许多解决方案,但是没有一个起作用。
我创建了一个新项目,它正在运行。另外,一些旧项目也可以正常运行。
*react-native Version: "0.63.3",*
请帮我找到解决方案?

最佳答案

问题在于,在进行更新时,内置的Java优先,并且它没有SDK,因为它只是运行时。
您只需要更改Java主页并将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
您应该从在我的情况下显示SDK的那条路走
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
之后,您只需将以下内容添加到应该位于您家中的.zshrc末尾即可。
您可以使用编辑它(如果您决定使用vim,可以退出编写:wq!并按Enter键)。
vim .zshrc
添加以下内容:
export JAVA_HOME=the/path/you/copied/before
export PATH=$JAVA_HOME/bin:$PATH
在我的情况下/路径/您/复制/之前的位置
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
保存文件并关闭所有终端,然后再次打开它们。
如果在编辑.zshrc文件时收到错误“.zshrc” E212:无法打开文件进行写入
然后使用sudo vim.zshrc,您将可以进行编辑。
该错误应解决。

09-25 21:01