proguard-android.txt是否已废弃?Gradle配置需如何调整?
关于ProGuard默认规则文件变更的配置调整
对现有配置的影响
- 你当前配置里的
getDefaultProguardFile('proguard-android.txt')已经不会被Gradle插件(2.2+版本)读取和使用,因为这个文件已停止维护,插件会在构建时自动生成适配项目的默认规则并存储在build目录中。 - 这条无效配置不会直接导致构建失败,插件会自动忽略它,依然使用自身生成的默认规则,同时正常加载你的
proguard-rules.txt自定义规则。
正确的配置调整方式
你可以按以下两种方式修改配置:
方式1:仅保留自定义规则文件
如果不需要额外调整默认规则的行为,直接让插件使用自动生成的默认规则,同时加载你的自定义规则:
buildTypes { release { minifyEnabled true proguardFiles 'proguard-rules.txt' } }
方式2:显式关联官方优化规则(推荐)
如果你想明确依赖官方提供的带优化逻辑的规则文件,同时保留自定义规则,可以这样写:
buildTypes { release { minifyEnabled true proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.txt' } }
注:
proguard-android-optimize.txt是目前仍在维护的静态规则文件,包含了代码优化相关的规则,插件新版本也会自动整合优化逻辑,你可根据项目需求选择。
额外注意事项:
- 插件生成的默认规则会根据项目依赖、Android版本等动态调整,比旧的静态
proguard-android.txt更适配当前项目环境。 - 如果你之前对
proguard-android.txt做过自定义修改,需要把这些修改迁移到proguard-rules.txt中,旧文件的内容已不会被加载。
内容的提问来源于stack exchange,提问作者Introspective
相关产品推荐
相关产品推荐

