【发布时间】:2019-12-16 17:46:11
【问题描述】:
我有一堆使用 GSON 进行(反)序列化的改造请求/响应类。
我目前使用@Keep 来确保 R8 不会将它们抽象化,或混淆属性名称(GSON 需要这些名称)。
有什么方法可以混淆类名而不混淆属性名等...
【问题讨论】:
标签: android proguard android-r8
我有一堆使用 GSON 进行(反)序列化的改造请求/响应类。
我目前使用@Keep 来确保 R8 不会将它们抽象化,或混淆属性名称(GSON 需要这些名称)。
有什么方法可以混淆类名而不混淆属性名等...
【问题讨论】:
标签: android proguard android-r8
我觉得你可以试试-keepclassmembernames
根据 proguard 手册here
-keepclassmembernames class_specificationshort for-keepclassmembers,allowshrinkingclass_specification 指定 名称将被保留的类成员,如果它们没有被删除的话 在收缩阶段。例如,您可能希望保留名称 处理由编译的库时的合成类 $methods JDK 1.2 或更早版本,因此混淆器可以在处理时再次检测到它 使用已处理库的应用程序(尽管 ProGuard 本身不需要这个)。仅在混淆时适用。
【讨论】: