【问题标题】:Proguard with Reflection带反射的 Proguard
【发布时间】:2017-01-18 10:47:28
【问题描述】:

我有一个关于 Proguard 的问题。我对使用它很陌生,并且从概念上想知道您应该通过 Proguard 配置 txt 文件保留项目中的哪些类?

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

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

谢谢!

【问题讨论】:

    标签: android proguard obfuscation android-proguard


    【解决方案1】:

    您经常使用的库已指定 Proguard 规则,因此请将其复制到您的规则中。您应该在使用反射的地方保留课程。您可以通过字符串指定类名或字段。

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

    【讨论】:

    • 感谢您的意见!
    【解决方案2】:

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

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

    【讨论】:

    • 感谢您对 Crashlytics 的意见。我在使用它时忘记了这一点。
    猜你喜欢
    • 2019-06-24
    • 1970-01-01
    • 2011-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多