我有一些带有Gson注释的课程,我需要通过ProGuard避免混淆。这段代码可以工作
public abstract class FacebookIdentifier {
@Expose public String id;
@Expose public String name;
}
-keepclasseswithmembers class * {
@com.google.gson.annotations.* <fields>;
}
现在我有一些扩展这些类的类,没有额外的字段。例如:
class FacebookApplication extends FacebookIdentifier {}
这样的类被混淆,即使它的父类有一些注释可以防止它被混淆。有没有办法让这个课程不被混淆?
答案 0 :(得分:0)
您必须明确指定扩展名:
-keep class com.example.FacebookApplication
但是,对于JSON,类名可能并不重要;只有字段名称。保留字段应该足够了:
-keepclassmembers class * {
@com.google.gson.annotations.* <fields>;
}
这假设所有序列化字段都是注释的,这对GSON来说并不是严格要求的。