相关疑难解决方法(0)

防止ProGuard对类成员名称进行模糊处理

我有我的类ClassMultiPoint与子类.

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;
       }
    }
 }
Run Code Online (Sandbox Code Playgroud)

oPoints将从解析中获取对象的值GSON:

oPoints = gson.fromJson( jsonString, ClassMultiPoints.class);

我试着用oPoints.message.

当我运行我的应用程序没有proguard应用程序运行成功 当我用proguard我的应用程序崩溃运行我的应用程序时

我认为问题是:proguard'oPoints.message'我的类的属性重命名为short 'a'.

我尝试保持方法和属性的名称是不变的,但proguard重命名为:

proguard.cfg:

-injars      bin/classes
-injars      libs
-outjars     bin/classes-processed.jar
-dontpreverify
-repackageclasses ''
-allowaccessmodification
-optimizations !code/simplification/arithmetic
-keepattributes *Annotation* …
Run Code Online (Sandbox Code Playgroud)

java obfuscation android proguard

69
推荐指数
6
解决办法
8万
查看次数

标签 统计

android ×1

java ×1

obfuscation ×1

proguard ×1