2017-06-19 32 views
0

Proguard的規則是下方com.example.gym.pojo是包名的Android proguard的不工作,我現在用

-keep class com.example.gym.pojo.** { public *; } -keepclassmembers class com.example.gym.pojo.** { public *; }

My class `import java.util.ArrayList; 
public class BulkUserResponse { 

    public String message; 
    public boolean success; 
public ArrayList<CustomerInfo> customers; 
public ArrayList<FeesInfo> fees;}` 

後應用Proguard的規則類的樣子

import java.util.ArrayList;public class BulkUserResponse { 
public ArrayList customers; 
public ArrayList fees; 
public String message; 
public boolean success;} 

我想要使用proguard後的pojo類。因爲我想解析所有的pojo類。我正在使用GSON庫。

應用的ProGuard之後,我想我有事先public ArrayList<CustomerInfo> customers

感謝類.....

+0

你想混淆類和客戶的ArrayList? – vishalk

+0

'公共ArrayList客戶;' - 在proguard之後公共ArrayList客戶,你看不到? –

+0

對不起我的錯誤。 –

回答

1

我建議你使用不同的方法。 GSON庫支持帶批註的序列化和反序列化。 你可以做這樣的事情:

public class BulkUserResponse { 
    @SerializedName("message") 
    @Expose 
    public String message; 
    @SerializedName("success") 
    @Expose 
    public boolean success; 
    @SerializedName("customers") 
    @Expose 
    public ArrayList<CustomerInfo> customers; 
    @SerializedName("fees") 
    @Expose   
    public ArrayList<FeesInfo> fees; 
}` 

這樣的事件如果字段名稱會被混淆,GSON仍然會與你的名字序列化的字段。

並且爲了保存您的通用類型(例如ArrayList<FeesInfo>),請使用-keepattributes SignatureLink to original answer

+0

我能夠解析數據,但是當我試圖讀取客戶類的成員無法做到的事情時,很難理解哪種類型的數組列表。如果我在應用progaurd後獲得public ArrayList 客戶,我的問題將得到解決 –

+0

我只添加了'-keepattributes Signature',它對我有用 –

0

我已經加入

-keepattributes Signature 

而且progaurd後應用我的課的樣子,那是我期待

public class BulkUserResponse { 
public ArrayList<CustomerInfo> customers; 
public ArrayList<FeesInfo> fees; 
public String message; 
public boolean success;} 

感謝Ekalips ...

+0

這是我的榮幸。然後,您可以將我的答案標記爲解決方案。 – Ekalips

相關問題