Bitrise构建报错:':package_info_plus:compileReleaseJavaWithJavac'执行失败
解决方案
1. 统一所有Gradle模块的Java版本配置
你的现有配置仅作用于主Android模块,间接依赖的package_info_plus模块未继承该配置。修改项目根目录下的android/build.gradle,添加全局配置覆盖所有子模块:
allprojects { repositories { google() mavenCentral() } // 统一所有子模块的Java编译版本 tasks.withType(JavaCompile) { sourceCompatibility = JavaVersion.VERSION_1_8 targetCompatibility = JavaVersion.VERSION_1_8 } // 统一Kotlin编译的JVM目标版本 tasks.withType(org.jetbrains.kotlin.gradle.tasks.KotlinCompile).configureEach { kotlinOptions { jvmTarget = "1.8" } } }
同时保留android/app/build.gradle内原有的compileOptions和kotlinOptions配置,确保层级覆盖生效。
2. 匹配Bitrise环境的JDK版本
Bitrise默认JDK版本可能与你的配置不兼容,需在Workflow中指定对应版本:
- 若使用Java 1.8:在Android构建步骤中添加环境变量
JDK_VERSION=8 - 若尝试Java 17:设置环境变量
JDK_VERSION=17
确保JDK版本与sourceCompatibility配置完全一致。
3. 强制指定兼容的package_info_plus版本
间接依赖的高版本package_info_plus可能要求Java 17,在pubspec.yaml中强制指定兼容Java 8的版本(如4.2.0):
dependencies: flutter: sdk: flutter sentry_flutter: ^7.0.0 # 保留你的sentry版本 package_info_plus: 4.2.0 # 强制覆盖间接依赖版本
执行flutter pub get更新依赖后推送代码至Bitrise重新构建。
4. 确认Bitrise的Flutter版本一致性
确保Bitrise的Flutter安装步骤指定3.22.2稳定版:在Workflow的「Flutter Install」步骤中,设置Flutter version为3.22.2并勾选Stable channel,避免版本差异引发的兼容问题。
内容的提问来源于stack exchange,提问作者user3808307
相关产品推荐
相关产品推荐

