GitHub Actions构建Android项目报错:需Java 17而非Java 11
解决GitHub Actions中Android CI/CD的JDK版本不匹配问题
GitHub Actions默认JDK版本说明
GitHub官方提供的runner镜像(如ubuntu-latest、macos-latest)目前默认预装Java 11(Temurin分发版),这就是你遇到环境使用Java 11的原因。
查看当前Actions环境的JDK版本
如果需要确认当前job使用的JDK版本和路径,可在main.yml中添加以下步骤:
- name: 检查JDK版本 run: | java -version echo $JAVA_HOME
执行后就能在Actions日志里看到具体的JDK版本和安装路径。
修改GitHub Actions的JDK配置为Java 17
使用官方的actions/setup-java action可快速切换到Java 17,在CI/CD job中添加该步骤即可。以下是完整示例片段:
jobs: build: runs-on: ubuntu-latest steps: - name: 检出代码 uses: actions/checkout@v4 # 配置Java 17环境 - name: 设置JDK 17 uses: actions/setup-java@v4 with: java-version: '17' distribution: 'temurin' # 和你本地使用的OpenJDK分发版一致 cache: gradle # 可选:缓存Gradle依赖加速构建 # 执行Lint检查和构建 - name: 运行Lint检查 run: ./gradlew lint - name: 构建项目 run: ./gradlew assembleDebug
该步骤会自动下载并配置指定版本的JDK,同时设置好JAVA_HOME环境变量,确保Android Gradle插件能找到符合要求的Java 17运行环境。
额外注意事项
- 确保项目根目录
gradle.properties或Gradle配置中指定的JDK版本和Actions配置一致,比如:
不过通常org.gradle.java.home=/usr/lib/jvm/temurin-17-jdk-amd64actions/setup-java会自动处理JAVA_HOME,无需手动指定路径。 - 如果使用macOS runner,配置方式和Ubuntu完全一致,只需把
runs-on改为macos-latest即可。
内容的提问来源于stack exchange,提问作者Akshay
相关产品推荐
相关产品推荐

