Tôi có lớp của mình ClassMultiPoint
với các lớp con.
public class ClassMultiPoints
{
public String message;
public List<ClassPoints> data;
public class ClassPoints
{
public String id;
public List<ClassPoint> points;
public class ClassPoint
{
public String speed;
public String bearing;
}
}
}
Tôi sẽ lấy giá trị của đối tượng oPoints
từ phân tích cú pháp GSON
:
oPoints = gson.fromJson( jsonString, ClassMultiPoints.class);
Tôi thử sử dụng oPoints.message
.
Khi tôi chạy ứng dụng của mình mà không proguard
chạy ứng dụng thành công. Khi tôi chạy ứng dụng với lỗi proguard
ứng dụng của tôi.
Tôi nghĩ vấn đề là: proguard
đổi tên thuộc tính 'oPoints.message'
của lớp tôi thành ngắn 'a'
.
Tôi cố gắng giữ cho tên của các phương thức và thuộc tính không đổi, nhưng proguard
đổi tên của nó:
proguard.cfg:
-injars bin/classes
-injars libs
-outjars bin/classes-processed.jar
-dontpreverify
-repackageclasses ''
-allowaccessmodification
-optimizations !code/simplification/arithmetic
-keepattributes *Annotation*
-dontskipnonpubliclibraryclasses
-optimizationpasses 5
-printmapping map.txt
-flattenpackagehierarchy
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Application
-keep public class * extends android.app.MapActivity
-keep public class * extends android.app.Service
-keep public class * extends android.content.BroadcastReceiver
-keep public class * extends android.content.ContentProvider
-libraryjars libs/commons-io-2.2.jar
-libraryjars libs/ftp4j-1.7.1.jar
-libraryjars libs/gson-2.2.2.jar
-keep public class org.apache.commons.io.**
-keep public class it.sauronsoftware.ftp4j.**
-keep public class com.google.gson.**
-keep public class com.mypackagename.ActivityMonitor$*
-keep public class * extends android.view.View {
public <init>(android.content.Context);
public <init>(android.content.Context, android.util.AttributeSet);
public <init>(android.content.Context, android.util.AttributeSet, int);
public void set*(...);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet);
}
-keepclasseswithmembers class * {
public <init>(android.content.Context, android.util.AttributeSet, int);
}
-keepclassmembers class * extends android.content.Context {
public void *(android.view.View);
public void *(android.view.MenuItem);
}
-keepclassmembers class * implements android.os.Parcelable {
static android.os.Parcelable$Creator CREATOR;
}
-keepclassmembers class **.R$* {
public static <fields>;
}
Cách đúng đắn để giữ tên của các phương thức và thuộc tính của lớp my one (static) là gì?