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

升级Android Gradle Plugin 8.2.2后R8混淆Android应用报错求助

AGP升级至8.2.2后,R8混淆构建时出现base.jar读取I/O异常

近期将Android项目的Android Gradle Plugin(AGP)从7.4.2版本升级到8.2.2版本后,执行release构建的minifyReleaseWithR8任务时失败,报错信息如下:

Task :app:minifyKioskDebugWithR8 FAILED
AGPBI: {"kind":"error","text":"com.android.tools.r8.ResourceException: com.android.tools.r8.internal.vc: I/O exception while reading '/Users/harinikesh/StudioProjects/instore/app/build/intermediates/merged_java_res/kioskDebug/base.jar': /Users/harinikesh/StudioProjects/instore/app/build/intermediates/merged_java_res/kioskDebug/base.jar","sources":[{"file":"/Users/harinikesh/StudioProjects/instore/app/build/intermediates/merged_java_res/kioskDebug/base.jar"}],"tool":"R8"}
com.android.tools.r8.ResourceException:
com.android.tools.r8.internal.vc: I/O exception while reading
'/Users/harinikesh/StudioProjects/instore/app/build/intermediates/merged_java_res/kioskRelease/base.jar':
/Users/harinikesh/StudioProjects/instore/app/build/intermediates/merged_java_res/kioskRelease/base.jar

我的release构建配置如下:

release {
    shrinkResources true
    minifyEnabled true
    proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}

当将shrinkResources和minifyEnabled设为false时,构建可成功完成。该问题仅在升级AGP后出现,已尝试清理项目、更新所有依赖,但问题仍未解决。


可能的解决方法
  • 检查base.jar文件状态
    直接前往报错路径查看base.jar是否存在,或文件是否损坏:

    1. 打开路径/Users/harinikesh/StudioProjects/instore/app/build/intermediates/merged_java_res/kioskRelease/
    2. 尝试解压base.jar,若解压失败说明文件已损坏,手动删除整个build目录后重新构建
  • 调整R8资源处理规则
    AGP 8.x对R8的资源处理逻辑有更新,可在proguard-rules.pro中添加规则排除冲突资源:

    -keepresources directory **/
    

    或针对特定资源类型保留:

    -keepresources string/**
    -keepresources layout/**
    
  • 拆分压缩配置排查
    暂时单独关闭shrinkResources,保留minifyEnabled,验证是否能完成构建:

    release {
        shrinkResources false
        minifyEnabled true
        proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
    

    若构建成功,再逐步排查具体是哪些资源导致压缩冲突。

  • 强制更新R8版本
    AGP 8.2.2对应的R8版本可能存在已知bug,可在项目根目录build.gradle中指定最新稳定版R8:

    buildscript {
        dependencies {
            classpath 'com.android.tools:r8:8.2.34' // 替换为当前最新稳定版
        }
    }
    
  • 排查第三方依赖兼容性
    部分第三方依赖可能未适配AGP 8.x的R8规则,逐个排查近期更新的依赖,尝试回退到兼容版本,或查看依赖库官方文档的AGP 8.x适配说明。

内容的提问来源于stack exchange,提问作者Hari Nikesh R

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 11:43:09