Proguard:空白屏幕

时间:2013-09-25 09:34:43

标签: android obfuscation proguard

我正在尝试使用proguard来混淆我的Android应用程序的代码。

我的问题是,我的应用程序的某些屏幕工作正常,其他一些显示空白屏幕(虽然不是完全空白,例如我的顶部标题栏显示正确,但其余内容为空白)。

我已经开始使用基本设置了:

proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt

然后,在proguard-project.txt中,我试图添加:

-keep class {my.package.name}.** { *; }

没有变化

然后

-dontskipnonpubliclibraryclassmembers

没有变化

然后

-dontobfuscate

这显然解决了这个问题但是没有必要,因为我想混淆我的代码。

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

查看ProGuard创建的输出;它会告诉你哪些类被重命名以及哪些类被删除(因为它们似乎未被使用)。您需要将配置修改为nether重命名,也不要删除这些类。通常,您可以在AndroidManifest.xml与模糊处理后丢失的部分之间找到交互(您的logcat甚至可能会告诉您缺少的内容)。不太可能的是,使用反射导致ProGuard没有意识到保持这些事情的重要性。

如果您确定需要对需要更改的内容进行完全模糊处理,则需要创建可以避免混淆的瘦对象代理,并知道如何进入实际类。