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

升级Gradle插件至8.3后Android构建失败:MethodHandle报错

修复Gradle插件升级后Android构建失败问题

问题根源

错误堆栈明确显示:Services模块的debugAndroidTest编译配置使用了minSdkVersion 24,但依赖的Apache POI 5.2.5和log4j-api 2.21.1中使用了MethodHandle.invoke/invokeExact API,这些API仅支持Android 8.0(API 26)及以上版本,导致D8编译时无法完成转换。主模块的minSdkVersion设置为26不影响子模块的测试配置,这是核心矛盾点。

解决方案

1. 统一Services模块的minSdkVersion到26

找到Services模块的build.gradle文件,修改以下配置:

android {
    defaultConfig {
        // 将minSdkVersion统一设置为26,和主模块保持一致
        minSdkVersion 26
        // 其他原有配置(targetSdkVersion等)保留
    }

    // 若存在单独的testOptions配置,同步更新测试用的minSdk
    testOptions {
        defaultConfig {
            minSdkVersion 26
        }
    }
}

确保Services模块的所有构建变体(包括debugAndroidTest)的minSdkVersion都不低于26。

2. 清理Gradle缓存并重新构建

执行以下命令彻底清理缓存,避免旧配置或编译产物残留:

./gradlew clean build --refresh-dependencies

或者在Android Studio中操作:File → Invalidate Caches...,勾选Invalidate and Restart,重启后重新构建项目。

3. 验证依赖适配(可选)

如果无法升级Services模块的minSdkVersion,可以尝试降级POI或log4j到支持API 24的版本,但POI 5.x系列本身对Android低版本兼容性较差,升级minSdk到26是更高效的方案(主模块已采用26,不会扩大应用的最低兼容门槛)。


内容的提问来源于stack exchange,提问作者Diego Perez

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.27 22:25:55