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

R8的-printusage参数未生效,无法生成未使用类报告求助

解决R8生成未使用类/成员报告(usage.txt)的问题

1. 先把路径配置弄对

-printusage指定的路径是以项目根目录为基准的,不是build目录。如果写的是proguard/unused.txt,先确认项目根目录下有没有proguard文件夹,没有就手动建一个,不然R8没地方写入文件。嫌麻烦的话直接指定build下的路径更稳妥:

-printusage ./build/outputs/proguard/unused.txt

2. 确认配置文件被Gradle正确加载

打开app模块的build.gradle(或build.gradle.kts),检查release构建类型里的proguardFiles是否包含了你添加-printusage的配置文件,比如:

android {
    buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            // 要是你把参数加在别的自定义规则文件里,得把文件也加在这一行
        }
    }
}

要是配置文件没被Gradle加载,写再多参数也不会生效。

3. 用R8原生配置反向推导(备选方案)

如果-printusage死活不生效,试试用-printconfiguration生成完整配置报告,结合seeds.txt反向找被移除的类:

  • 在配置文件中添加:-printconfiguration proguard/full-config.txt
  • 生成后对比项目源码和seeds.txt,没出现在seeds.txt里的类/成员基本就是被R8移除的。

4. 清缓存重新构建

有时候Gradle缓存会干扰配置生效,执行下面的命令彻底清理后再打release包:

./gradlew clean assembleRelease

5. 检查AGP版本

旧版本的R8对-printusage支持可能存在bug,确保你的Android Gradle Plugin(AGP)版本在7.0以上,新版本的兼容性更好。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.28 11:42:33