Android Proguard - dontobfuscate 不会禁用混淆

Posted

技术标签:

【中文标题】Android Proguard - dontobfuscate 不会禁用混淆【英文标题】:Android Proguard - dontobfuscate doesn't disable obfuscation 【发布时间】:2013-02-09 13:11:31 【问题描述】:

关于 android proguard 混淆的问题。 出于某种原因,当使用 ant 生成 apk 时,我希望 proguard 缩小大小(删除未使用的类)但不进行名称混淆。在proguard.cfg,我补充说:

-dontobfuscate

proguard.cfg 中的所有其他人要么是 -dontwarn 要么是 -keep class。但是反编译生成的apk(dex2jar)后,发现很多名字还是被混淆了。为什么会这样?

谢谢

【问题讨论】:

刚刚发现这篇文章解决了我的问题:***.com/questions/9651703/…Thanks 【参考方案1】:

由于没有人真正回答这个问题,这里是解决问题的帖子的链接:Using Proguard with Android without obfuscation

基本上,您需要在-dontobfuscate 指令下方添加以下内容:

-optimizations !code/simplification/arithmetic,!field/*,!class/merging/*,!code/allocation/variable

这里重要的是:!code/allocation/variable

【讨论】:

以上是关于Android Proguard - dontobfuscate 不会禁用混淆的主要内容,如果未能解决你的问题,请参考以下文章

Android 中的 ProGuard 不起作用。(不混淆)

如何为 Android 升级 ProGuard?

启用 PROGUARD - Xamarin.Android

使用 Android 库项目设置 ProGuard

Android - Proguard 和改造 2?

Proguard后Android应用程序崩溃