【发布时间】:2017-02-21 10:37:15
【问题描述】:
ProGuard 删除我自己的课程时遇到问题。我创建了一个 proguard.cfg,我尝试在其中为它们指定 -keep 类,但我只能在使用它们的 md5 散列包指定类时让它工作。
例如,我的应用程序的包名称是 se.initech.foo,并且我在一个子包框架中有一个类,称为 InfoBox。
所以我希望完全限定的类名是se.initech.foo.Framework.InfoBox。
但是我编译打包运行ProGuard后,在应用输出日志中可以看到找不到类md586c878b9e5eee7e17627db5c3cd60647.InfoBox。
如果我添加
-keep class md586c878b9e5eee7e17627db5c3cd60647.** { *; }
到我的 proguard.cfg 文件,它可以工作。但是,如果我尝试指定真实的类名,即se.initech.foo.** 甚至se.initech.foo.Framwork.InfoBox,它就不起作用。
有没有办法
a) 使用 proguard.cfg 中类的真实包名,或
b) 事先找出哈希值,而不仅仅是通过检查应用程序输出日志中的崩溃?
【问题讨论】:
标签: android xamarin xamarin.android proguard android-proguard