Ionic + Cordova Android 构建错误 - 找不到 tools.jar

sit*_*ail 17 android cordova ionic-framework ionic3 macos-big-sur

今天我已将 MacBook 升级到 macOS Big Sur 版本 11.0.1。现在,当我尝试为 Android 构建项目时出现了一个问题。

Execution failed for task ':CordovaLib: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)

use*_*565 29

尝试跑步

/usr/libexec/java_home -V
Run Code Online (Sandbox Code Playgroud)

看看这是否显示在列表中

/Library/Internet Plug-Ins/JavaAppletPlugin.plugin/Contents/Home
Run Code Online (Sandbox Code Playgroud)

我就是这种情况,我不得不删除 Internet Plug-Ins 文件夹中的条目。在此处查看对我有帮助的更多详细信息。

  • Big Sur更新后出现错误,尝试了所有其他解决方案,只有这个解决了它。谢谢! (4认同)
  • 这解决了我的问题。谢谢! (2认同)

Sha*_*wal 25

我今天也遇到了同样的问题,而在升级到 Big Sur 之前,同样的设置(构建 Android 应用程序)对我有用。

我看到了各种解决方案,例如-

  1. Flutter 找不到 tools.jar
  2. 无法在 macOS Big Sur 上运行 Eclipse

但我不确定这些是否是推荐的解决方案。我尝试了几个小时,终于得到了正确的修复(在我看来)。

基本上,对我来说,JAVA_HOME变量没有设置(或者 Big Sur 以某种方式删除了它)。

所以我只是将它添加到我的~/.zshrc(或~/.bashrc)中 -

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

您可以简单地检查并替换上一行中的版本号。

  • Big Sur 更新后,JAVA_HOME 变量已从我的 ```~ /.bashrc ``` 中删除,谢谢 (5认同)
  • 找了好久,终于也找到了。谢谢大家,这在大苏尔非常有效 (2认同)

小智 20

如果 Cordova android 版本仍未解决此问题 - 只需手动执行即可。我的情况:java_home 设置正确,并且还重新加载了 ~/.zshrc(或 ~/.bashrc)文件。我通过在终端上回显来获得 JAVA_HOME 值。

所以我手动将文件tool.jar从复制/Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/lib/Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib 并且它起作用了。

为了方便使用这个cmd

sudo cp /Library/Java/JavaVirtualMachines/jdk1.8.0_211.jdk/Contents/Home/lib/tools.jar /Library/Internet\ Plug-Ins/JavaAppletPlugin.plugin/Contents/Home/lib

只需检查您的 JAVA JDK 版本。


Fut*_*020 6

问题发生是因为环境变量JAVA_HOME设置不正确。

步骤 1 -JAVA_HOME通过在终端中打印其值来确认您有问题。您很可能会得到一个空字符串。

echo $JAVA_HOME
Run Code Online (Sandbox Code Playgroud)

第 2 步 - 在您的机器上找到正确的路径

/usr/libexec/java_home -V
Run Code Online (Sandbox Code Playgroud)

复制与“Java SE 8”关联的路径,通常看起来像 /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home

第 3 步 - 编辑.zshenv使用nano

nano ~/.zshenv
Run Code Online (Sandbox Code Playgroud)

第 4 步 - 将第 2 步中的路径添加到文件中,如下所示

export JAVA_HOME=YOUR_JAVA_PATH
Run Code Online (Sandbox Code Playgroud)

例子:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
Run Code Online (Sandbox Code Playgroud)

步骤 5 - 获取更新的.zshenv文件以激活环境变量

source ~/.zshenv
Run Code Online (Sandbox Code Playgroud)

步骤 6 - 打印以确认路径

echo $JAVA_HOME
Run Code Online (Sandbox Code Playgroud)