使用mingc/android-build-box如何升级Gradle7.*及解决BitBucket构建Java版本报错
问题根因
- 报错触发原因是服务器构建环境使用的Android Gradle Plugin(AGP) 7.0及以上版本强制要求Java 11运行,当前服务器默认加载的Java版本为1.8,不符合要求。
- 本地环境可正常构建是因为本地项目的AGP版本低于7.0,未触发Java版本强制校验规则。
mingc/android-build-box环境修复方案
方案1:指定构建使用Java 11(优先选择,无需修改项目配置)
mingc/android-build-box镜像已预装Java 11,只需在bitbucket-pipelines.yml的构建步骤前添加环境变量配置即可:
script: # 指定Java 11为运行环境 - export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 # 可添加本行验证Java版本是否切换成功 - java -version # 保留你原有的构建命令,例如: - ./gradlew assembleRelease
方案2:升级Gradle到7.*版本适配
如果需要将项目Gradle版本升级到7.*系列,按以下步骤操作:
- 打开项目根目录下
gradle/wrapper/gradle-wrapper.properties文件,修改distributionUrl参数为对应7.*版本的地址,示例为升级到7.6.3版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-7.6.3-bin.zip
- 打开项目根目录
build.gradle文件,升级AGP版本和Gradle版本匹配,Gradle 7.6对应的兼容AGP版本为7.4.*,示例配置:
plugins { id 'com.android.application' version '7.4.2' apply false id 'com.android.library' version '7.4.2' apply false }
- 按方案1的步骤在构建脚本中指定Java 11运行环境,即可完成构建。
注意事项
- 不要在项目
gradle.properties中配置org.gradle.java.home参数,会覆盖环境变量配置,容易出现路径匹配异常。 - 如需避免镜像后续更新导致的构建不稳定,可在pipelines配置中指定固定的镜像标签,例如
image: mingc/android-build-box:1.23.0。
内容的提问来源于stack exchange,提问作者mach
相关产品推荐
相关产品推荐

