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

如何在Android Studio中禁用代码混淆?配置后仍混淆的解决方法

代码仍被混淆的原因及彻底禁用方案

可能的原因

  • 仅配置Debug构建类型,Release包未处理:你的build.gradle里只给debug构建类型设置了minifyEnabled false,但如果实际打包的是release版本,默认情况下release的minifyEnabled为true,会自动启用混淆。
  • ProGuard规则包名不匹配:proguard-rules.pro里的-keep class com.my.package.** { *; }规则,包名和项目实际命名空间com.example.myapplication2不符,这条规则完全无效,无法保护你的代码。
  • 构建缓存残留:之前构建生成的混淆缓存未清理,导致新打包的文件仍带有混淆痕迹。

彻底禁用混淆的修改方案

1. 统一配置所有构建类型的混淆开关

修改build.gradle的buildTypes块,确保release也禁用混淆:

buildTypes {
    debug {
        minifyEnabled false
        // 当minifyEnabled为false时,ProGuard不会执行,可直接移除proguardFiles引用避免干扰
        // proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
    release {
        minifyEnabled false
        // 同理可移除proguardFiles引用,或保留但确保规则正确
        // proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
    }
}

2. 修正或清理ProGuard规则

如果保留proguard-rules.pro,把无效的包名规则替换为项目真实命名空间:

# 替换成项目实际的包名
-keep class com.example.myapplication2.** { *; }
# 当minifyEnabled为false时,-dontobfuscate等规则不会生效,可按需删除

也可以直接清空自定义规则,因为minifyEnabled false时ProGuard不会运行,规则无实际作用。

3. 清理并重建项目

  • 执行Android Studio的Build > Clean Project
  • 再执行Build > Rebuild Project
  • 重新生成安装包,避免缓存导致的混淆残留

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 00:45:16