【发布时间】:2013-01-16 23:02:27
【问题描述】:
我在 project.properties 中启用了 proguard:
proguard.config=proguard.cfg
我的 proguard.cfg 没有禁用混淆。但没有任何东西被混淆。
我使用
运行项目构建蚂蚁释放。
有铃声响起吗?
-优化通过 5 -dontusemixedcase类名 -dontskipnonpubliclibraryclasses -dontpreverify -详细 -优化 !code/simplification/arithmetic,!field/,!class/merging/
-保持公共类 * 扩展 android.app.Activity -保持公共类 * 扩展 android.app.Application -keep public class * 扩展 android.app.Service -保持公共类 * 扩展 android.content.BroadcastReceiver -保持公共类 * 扩展 android.content.ContentProvider -保持公共类 * 扩展 android.app.backup.BackupAgentHelper -keep public class * 扩展 android.preference.Preference -保持公共类com.android.vending.licensing.ILicensingService
-keepclasseswithmembernames class * { 本国的 ; }
-keepclasseswithmembers class * { 公共(android.content.Context,android.util.AttributeSet); }
-keepclasseswithmembers class * { 公共(android.content.Context,android.util.AttributeSet,int); }
-keepclassmembers class * extends android.app.Activity { public void *(android.view.View); }
-keepclassmembers 枚举 * { 公共静态 *[] 值(); 公共静态 * valueOf(java.lang.String); }
-keep class * 实现 android.os.Parcelable { public static final android.os.Parcelable$Creator *; }
【问题讨论】:
-
如何检查是否有任何内容被混淆?你可以在这里发布你的 proguard.cfg 吗?您是否在 ant 输出中看到 proguard 正在处理您的文件?
-
用 proguard.cfg 编辑了问题。我只是在源代码中抛出一个异常并观察堆栈跟踪。有点愚蠢,但仍然有效。而且我注意到应该混淆的类不是。此外,在构建时,当构建经过“混淆”阶段时,我什么也看不到。