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

Mac M1 Pro芯片下项目可构建但Robolectric测试失败,Jetifier转换报错

问题解决:Mac M1 Pro上Robolectric测试因Jetifier处理JAR失败报错

问题原因

报错中的major version 59对应Java 15,当前使用的Jetifier版本不支持处理Java 15编译的类文件,导致转换失败。再加上M1芯片的ARM架构特性,额外存在依赖适配层面的问题。

解决步骤

  • 升级Jetifier关联版本:将Android Gradle Plugin(AGP)升级到7.0及以上版本,Jetifier会随AGP同步更新,新版本已支持更高版本的Java类文件处理。
  • 跳过指定JAR的Jetifier转换:若暂时不想升级AGP,可在gradle.properties中添加配置,忽略对bcprov-jdk15on的Jetifier处理:
    android.jetifier.ignorelist=bcprov-jdk15on
    
  • 统一项目Java编译版本:在模块的build.gradle中指定兼容的Java版本,确保和依赖JAR及Robolectric测试适配:
    android {
        compileOptions {
            sourceCompatibility JavaVersion.VERSION_11
            targetCompatibility JavaVersion.VERSION_11
        }
        testOptions {
            unitTests {
                robolectric {
                    includeAndroidResources = true
                    maxSdk = 33
                }
            }
        }
    }
    
  • M1芯片专属适配:在gradle.properties中添加ARM架构兼容配置,推荐使用对M1支持更好的Zulu JDK:
    org.gradle.java.home=/Library/Java/JavaVirtualMachines/zulu-11.jdk/Contents/Home
    org.gradle.jvmargs=-Xmx2048m -Djava.awt.headless=true
    
    (可根据自身安装的兼容JDK路径替换上述JDK地址)

验证方式

修改配置后,执行./gradlew test重新运行Robolectric测试,检查是否仍出现Jetifier转换失败的报错。

内容的提问来源于stack exchange,提问作者Shreyas sethi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 00:50:34