Proguard与反思

时间:2017-01-18 10:47:29

标签: android proguard obfuscation android-proguard

我有一个关于Proguard的问题。我很擅长使用它,并且在概念上想知道你的项目中应该通过Proguard配置文件保存哪些类?

据我所知,唯一真正重要的是使用反射的类。例如,如果您使用Sugar ORM,则应保留SugarRecord的任何子类。如果您使用OkHttp3将类转换为JSON,则相同。

我想我只是想知道还有什么其他“陷阱”可以找?

谢谢!

2 个答案:

答案 0 :(得分:3)

您经常使用的Libs已经指定了Proguard规则,因此请将其复制到您的规则中。您应该保留使用反射的类。在哪里按字符串指定类名或字段。

例如,您应该保留api模型及其字段,因为它们是从例如json序列化的。 (如果使用Gson,则可以使用@SerializedName注释)

答案 1 :(得分:2)

我指定要保留的其他类是Gson模型,自定义异常以及Crashlytics ProGuard中列出的其他一些类,因为我使用Crashlytics进行错误报告。

此外,如果你不这样做,你应该检查注释,因为我相信默认情况下会删除它们。