升级Bouncy Castle至1.78后Android项目构建失败求助
问题原因与解决方案
核心原因
错误日志里的Unsupported class file major version 65是关键:
- 类文件版本65对应JDK 19编译的字节码
- Bouncy Castle 1.78及以后的
bcprov-jdk18on包是用JDK 19编译的,而你的项目基于OpenJDK 17,Android的Jetifier工具不支持处理JDK 19生成的类文件,导致构建失败。
解决方案
方案1:降级Bouncy Castle版本
将依赖版本回退到1.77(该版本用JDK 18编译,与JDK 17兼容),修改项目的依赖配置:
implementation 'org.bouncycastle:bcprov-jdk18on:1.77'
方案2:升级项目JDK版本
将项目使用的JDK升级到19或更高版本,同时确保Android Gradle插件(AGP)版本支持对应JDK:
- AGP 7.4+支持JDK 19,AGP 8.0+支持JDK 20+
- 在项目级
build.gradle中配置:
compileOptions { sourceCompatibility JavaVersion.VERSION_19 targetCompatibility JavaVersion.VERSION_19 } kotlinOptions { jvmTarget = "19" }
方案3:禁用Jetifier对Bouncy Castle的转换
Bouncy Castle本身已兼容Android,无需Jetify处理,在项目根目录的gradle.properties中添加:
android.jetifier.blacklist=bcprov-jdk18on
内容的提问来源于stack exchange,提问作者Oluwaseun Oyewale
相关产品推荐
相关产品推荐

