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

如何完全禁用Proguard?设置isMinifyEnabled=false无效的问题求助

如何完全禁用Proguard?设置isMinifyEnabled=false无效的问题求助

Hey,我太懂你现在的困扰了——在AGP 7+版本里,单纯设置isMinifyEnabled = false好像真的没法彻底关掉混淆相关的工具,毕竟现在默认用的是R8而不是传统的ProGuard了,咱们一步步来解决这个问题:

  • 首先完善你的buildTypes配置,除了isMinifyEnabled = false,一定要加上isShrinkResources = false。因为资源收缩功能有时候会和混淆工具绑定,哪怕你关了混淆,资源收缩可能还会触发相关逻辑。另外确保所有proguardFiles相关配置都被注释或删除,你的现有代码这部分已经做了,完整的release配置可以参考这样:
buildTypes {
    getByName("release") {
        isMinifyEnabled = false
        isShrinkResources = false
        isCrunchPngs = false
        // 确保所有proguardFiles相关配置都被注释或删除
        signingConfig = signingConfigs.getByName("release")
    }
}
  • 接下来处理gradle.properties的设置,AGP 7+里useProguard = false确实已经被弃用了,要彻底禁用R8(它是AGP默认的混淆/优化工具),你需要在项目根目录的gradle.properties文件里添加这两行配置:
android.enableR8=false
android.enableR8.libraries=false

这两个配置分别关闭应用代码的R8优化和依赖库的R8优化,能确保完全切断相关的混淆流程。

  • 最后可以检查下模块依赖,如果某个依赖库自动引入了ProGuard/R8规则,可能会干扰你的设置。你可以在有问题的依赖项后面加上{ exclude group: 'com.android.tools', module: 'r8' }来排除相关依赖,不过一般来说前面两步就足够解决问题了。

要是你还是不确定有没有彻底关掉,可以生成release包后用反编译工具(比如jadx)看看代码,类名、方法名要是还和你写的一致,就说明混淆已经完全禁用啦。

备注:内容来源于stack exchange,提问作者Rohit Kushvaha

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 06:53:02