Не работает при использовании ProGuard

Логкат ниже. что случилось?

07-24 10: 54: 13.529: E / AndroidRuntime (12130): ИСКЛЮЧИТЕЛЬНОЕ ИСКЛЮЧЕНИЕ: AsyncTask # 3

07-24 10: 54: 13.529: E / AndroidRuntime (12130): java.lang.RuntimeException: произошла ошибка при выполнении doInBackground ()

07-24 10: 54: 13.529: E / AndroidRuntime (12130): на android.os.AsyncTask $ 3.done (AsyncTask.java:299)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): на java.util.concurrent.FutureTask $ Sync.innerSetException (FutureTask.java:273)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): на java.util.concurrent.FutureTask.setException (FutureTask.java:124)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): на java.util.concurrent.FutureTask $ Sync.innerRun (FutureTask.java:307)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): на java.util.concurrent.FutureTask.run (FutureTask.java:137)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): по адресу java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1076)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): по адресу java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:569)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): на java.lang.Thread.run (Thread.java:856)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): вызвано: java.lang.AssertionError: недопустимая ссылка на переменную типа

07-24 10: 54: 13.529: E / AndroidRuntime (12130): в org.apache.harmony.luni.lang.reflect.ImplForVariable.resolve (ImplForVariable.java:113)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): в org.apache.harmony.luni.lang.reflect.ImplForVariable.getGenericDeclaration (ImplForVariable.java:127)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): в org.apache.harmony.luni.lang.reflect.ImplForVariable.hashCode (ImplForVariable.java:46)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): по адресу java.util.Arrays.hashCode (Arrays.java:1260)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): на com.google.gson.internal. $ Gson $ Types $ ParameterizedTypeImpl.hashCode (SourceFile: 475)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): на com.google.gson.reflect.TypeToken. (SourceFile: 64)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): на com.gaozhi.wh.asynctask.MyAsyncTask $ 2 $ 1. (SourceFile: 78)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): at com.gaozhi.wh.asynctask.MyAsyncTask $ 2.call (SourceFile: 78)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): на com.gaozhi.wh.asynctask.MyAsyncTask $ 2.call (SourceFile: 1)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): на com.gaozhi.wh.utils.async.AsyncTaskUtils $ 2.doInBackground (SourceFile: 114)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): на com.gaozhi.wh.utils.async.AsyncTaskUtils $ 2.doInBackground (SourceFile: 1)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): на android.os.AsyncTask $ 2.call (AsyncTask.java:287)

07-24 10: 54: 13.529: E / AndroidRuntime (12130): на java.util.concurrent.FutureTask $ Sync.innerRun (FutureTask.java:305) 07-24 10: 54: 13.529: E / AndroidRuntime (12130) : ... еще 4

Я обнаружил, что причиной этой строки кода является ошибка.

info = GsonUtils.getMutileBean(result,new TypeToken() {}.getType());

public static  T getMutileBean(String jsonData, Type type)
        throws Exception {
    return new Gson().fromJson(jsonData, type);
}

Но я должен был добавить конфигурацию Proguard для Gson

# Gson использует информацию общего типа, хранящуюся в файле класса, при работе с полями. Proguard

# удаляет такую информацию по умолчанию, поэтому настройте ее так, чтобы она сохранялась.

-keepattributes Подпись

# Для использования GSON @Expose аннотации

-keepattributesаннотирование

# Gson конкретные классы

-поддержите класс sun.misc.Unsafe {*; }

# -поддержите класс com.google.gson.stream. ** {*; }

# Классы приложений, которые будут сериализованы / десериализованы через Gson

-поддержите класс com.google.gson.examples.android.model. ** {*; }

Ответы на вопрос(2)

Ваш ответ на вопрос