Ana*_*wan 125 android react-native react-native-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.
Run Code Online (Sandbox Code Playgroud)
当我升级到 Mac os Big sur 并运行时,
npx react-native run-android
Run Code Online (Sandbox Code Playgroud)
我收到此错误(Android)。我从 Stack Overflow 尝试了很多解决方案,但都没有奏效。
我创建了一个新项目并且它正在运行。此外,一些旧项目也运行良好。
*react-native Version: "0.63.3",*
Run Code Online (Sandbox Code Playgroud)
请帮我找到解决办法?
Cri*_*mez 278
问题是,在更新中,内置 java 优先,它没有 SDK,因为它只是运行时。
您只需要更改您的 java home 并将 java 二进制文件添加到您的 .zshrc 以找到您的 java home 执行:
/usr/libexec/java_home -V | grep jdk
Run Code Online (Sandbox Code Playgroud)
输出应类似于以下内容:
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
Run Code Online (Sandbox Code Playgroud)
在我的情况下,您应该从说 SDK 的那条路走
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
之后,您只需将以下内容添加到应该在您家中的 .zshrc 的末尾。
您可以编辑它(如果您决定使用 vim,您可以退出写作 :wq! 并按 Enter)
vim .zshrc
Run Code Online (Sandbox Code Playgroud)
添加以下内容:
export JAVA_HOME=the/path/you/copied/before
export PATH=$JAVA_HOME/bin:$PATH
Run Code Online (Sandbox Code Playgroud)
在我的情况下,/path/you/copyed/before 在哪里
/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
保存文件并关闭所有终端并再次打开它们。
如果在编辑 .zshrc 文件时出现错误“.zshrc”E212:无法打开文件进行写入,则使用 sudo vim.zshrc 即可进行编辑。
错误应该得到解决。
tom*_*wel 82
就我而言:
我使用了/usr/libexec/java_home -V | grep jdk
Cristian Gomez提供的命令,得到了两条路径:
Matching Java Virtual Machines (2):
1.8.181.13 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_111 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
改了.zshrc
也没解决问题。
最后,我抄tools.jar
在/Library/Java/JavaVirtualMachines/jdk1.8.0_111.jdk/Contents/Home/lib/
以/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib/
和解决的问题。
我不知道这种方法会不会导致任何未知的问题。
小智 17
这对我有用-
Goto android folder > gradle.properties file > add below line org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home
// JDK的路径
再次运行你的项目
Sti*_*ich 10
由于我的 mac 上没有~/.zshrc,这些步骤解决了该问题:
1)找到你的java home执行:
/usr/libexec/java_home -V | grep jdk
Run Code Online (Sandbox Code Playgroud)
我看到这个:
Matching Java Virtual Machines (2):
1.8.271.09 (x86_64) "Oracle Corporation" - "Java" /Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
1.8.0_171 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
2)要编辑.bashrc,我使用了以下命令:
nano ~/.bashrc
Run Code Online (Sandbox Code Playgroud)
我看到~/.bashrc的下一个内容:
# Add RVM to PATH for scripting. Make sure this is the last PATH variable change.
export PATH="$PATH:$HOME/.rvm/bin"
Run Code Online (Sandbox Code Playgroud)
3)我在~/.bashrc的末尾添加了 2 个字符串:
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home"
export PATH="$JAVA_HOME/bin:$PATH"
Run Code Online (Sandbox Code Playgroud)
其中 JAVA_HOME 路径 - “/Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home”取自步骤 1(!):
1.8.0_171 (x86_64) "Oracle Corporation" - "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_171.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)
请注意 - 路径应位于引号“”内
4)关闭所有终端窗口并再次构建Android。
如果您的 ~/.zshrc 中有类似于以下内容的内容:
export JAVA_HOME=$(/usr/libexec/java_home -v1.8)
Run Code Online (Sandbox Code Playgroud)
就像Tomfriwell写的那样,你可以运行:
/usr/libexec/java_home -V
Run Code Online (Sandbox Code Playgroud)
查看已安装 JVM 的路径,然后指定您要使用哪一个。例如:
export JAVA_HOME=$(/usr/libexec/java_home -v1.8.0_261)
Run Code Online (Sandbox Code Playgroud)
这会将所需的 JVM 链接到您的 java 命令
source ~/.zshrc
编辑并保存后不要忘记
小智 6
这对我有用:从全新安装启动 Java。
sudo rm -rf /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin
sudo rm -rf /Library/Java/JavaVirtualMachines
sudo rm -rf /Library/Application\ Support/Oracle/Java/
sudo rm -rf /Library/PreferencePanes/JavaControlPanel.prefPane
Run Code Online (Sandbox Code Playgroud)
重新启动计算机。
下载并安装Java jdk-8u271-macosx-x64
重新启动计算机。
小智 5
匹配Java虚拟机(2):1.8.152.16(x86_64)“Oracle Corporation”-“Java”/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home 1.8.0_152(x86_64)“Oracle Corporation”-“Java” SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_152.jdk/Contents/Home
打开“/Library/Internet Plug-Ins”,删除JavaAppletPlugin.plugin
好的
归档时间: |
|
查看次数: |
60875 次 |
最近记录: |