【问题标题】:Using proguard with dagger 1.2.2使用带有匕首 1.2.2 的 proguard
【发布时间】:2014-12-15 16:01:54
【问题描述】:
【问题讨论】:
标签:
android
proguard
dagger
【解决方案2】:
对于 Dagger,你需要保留生成的类:
-keep class **$$ModuleAdapter
-keep class **$$InjectAdapter
-keep class **$$StaticInjection
很遗憾,您还需要从项目中保留相应的基类:
-keep class com.example.SomeClass
这样,Dagger 仍然可以组合相应的类对。您可以通过在项目的 gen 目录中列出生成的类来找出基类(例如 com/examples/SomeClass$$ModuleAdapter.class)。
最后,你需要保留一个 Dagger 类:
-keep class dagger.Lazy
【解决方案3】:
#-dontobfuscate
-keepnames class your.package.**
最大的问题是 dagger 1.2.2 创建了像“method/your.package.YourClass”这样的字符串,这些字符串不会被 -adaptclassstrings 改变
这将让您在构建过程中运行混淆,以及其他人添加的关于在其他答案中保留类的内容。
您不会混淆类名,但字段和方法会。有总比没有好!或者您可以在任何地方禁用混淆,只需使用收缩。