You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native Android项目编译报错::app:compileDebugJavaWithJavac任务执行失败,提示找不到tools.jar

解决React Native编译时Could not find tools.jar的问题

我之前在搭建React Native项目时也碰到过一模一样的tools.jar找不到的问题,结合我的解决经验,给你几个可行的方案:

1. 确认OpenJDK 8的完整安装

很多Linux发行版的OpenJDK默认可能只安装了JRE部分,缺少JDK的核心文件(包括tools.jar)。你可以:

  • 先检查目标路径下是否存在tools.jar:
    ls /usr/lib/jvm/java-8-openjdk-amd64/lib/ | grep tools.jar
    
  • 如果没有输出,说明需要安装完整的OpenJDK 8包。以Debian/Ubuntu系为例,执行:
    sudo apt-get update && sudo apt-get install openjdk-8-jdk
    
    安装完成后再重复上面的命令确认tools.jar是否存在。

2. 给Gradle手动指定JDK路径

有时候系统环境变量的配置没被Gradle识别到,你可以直接在项目里指定JDK路径:

  • 进入项目的android目录,找到或创建gradle.properties文件,添加以下内容:
    org.gradle.java.home=/usr/lib/jvm/java-8-openjdk-amd64
    
  • 或者在项目根目录的local.properties中添加:
    jdk.dir=/usr/lib/jvm/java-8-openjdk-amd64
    
    注意路径要和你实际的JDK安装目录完全一致。

3. 修正系统环境变量

确保JAVA_HOME指向的是完整JDK而非JRE:

  • 先检查当前JAVA_HOME的配置:
    echo $JAVA_HOME
    
  • 如果输出是类似/usr/lib/jvm/java-8-openjdk-amd64/jre这样的JRE路径,需要修改你的shell配置文件(比如~/.bashrc或~/.zshrc),添加:
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    export PATH=$JAVA_HOME/bin:$PATH
    
  • 执行source ~/.bashrc(或对应的配置文件)使更改生效,然后重启终端再尝试编译项目。

4. 尝试切换到Oracle JDK 8

部分情况下,OpenJDK的目录结构和Gradle预期的有差异,你可以尝试使用Oracle JDK 8:

  • 下载对应版本的Oracle JDK 8(注意遵守授权协议),解压到自定义目录(比如/opt/jdk1.8.0_301)
  • 修改JAVA_HOME指向这个新路径,然后重新执行npx react-native run-android

5. 检查Android Studio的JDK配置(如果使用AS开发)

如果你用Android Studio打开项目,可能需要在IDE里指定正确的JDK:

  • 打开Android Studio,进入File > Project Structure > SDK Location
  • 在JDK location选项中选择你的OpenJDK 8安装目录,点击Apply同步项目后再尝试编译

内容的提问来源于stack exchange,提问作者Mahrus Rohisyam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.06 06:56:36