Non funziona quando si utilizza ProGuard

Il logcat è sotto. che c'è?

07-24 10: 54: 13.529: E / AndroidRuntime (12130): ECCEZIONE FATICA: AsyncTask # 3

  • Modalità consigliate per produrre applicazioni porttili tra Android e "altre piattaforms"
  • Nessun constructor vuoto quando crea un servizio
  • Come avviare un servizio quando il dispositivo android è triggersto?
  • Il text del button viene allineato errato dopo una chiamata setText () su un TextView
  • aiuto: aggiorna errore di errore: org.eclipse.equinox.p2.core.ProvisionException
  • Come verificare il ricevitore di trasmissione BOOT_COMPLETED in emulatore
  • 07-24 10: 54: 13.529: E / AndroidRuntime (12130): java.lang.RuntimeException: Si è verificato un errore durante l'esecuzione di doInBackground ()

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

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

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

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

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

    07-24 10: 54: 13.529: E / AndroidRuntime (12130): a java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1076)

    07-24 10: 54: 13.529: E / AndroidRuntime (12130): a java.util.concurrent.ThreadPoolExecutor $ Worker.run (ThreadPoolExecutor.java:569)

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

    07-24 10: 54: 13.529: E / AndroidRuntime (12130): causato da: java.lang.AssertionError: riferimenti variables di tipo illegale

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

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

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

    07-24 10: 54: 13.529: E / AndroidRuntime (12130): al java.util.Arrays.hashCode (Arrays.java:1260)

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

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

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

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

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

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

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

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

    07-24 10: 54: 13.529: E / AndroidRuntime (12130): a java.util.concurrent.FutureTask $ Sync.innerRun (FutureTask.java:305) 07-24 10: 54: 13.529: E / AndroidRuntime : … 4 altro

    Ho scoperto che è causata da questa linea di errore di codice

    info = GsonUtils.getMutileBean(result,new TypeToken<JsonResult<T>>() {}.getType());

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

    .

    Ma avevo aggiunto configuration proguard per Gson

    # Gson utilizza informazioni di tipo generico memorizzate in un file di class quando si lavora con i campi. Proguard

    # rimuove tali informazioni per impostazione predefinita, quindi configurarlo per mantenerlo.

    – accetta la firma

    # Per utilizzare l'annotazione GSON @Expose

    -keapattributes Annotazione

    # Classi specifiche di Gson

    -classica class sun.misc.Unsafe {*; }

    # -classica di riserva com.google.gson.stream. ** {*; }

    # Classi di applicazioni che saranno serializzate / deserializzate su Gson

    -club di class com.google.gson.examples.android.model ** {*; }

  • Come distriggersre CalendarView in un DataPicker?
  • Emulazione scheda host su Android (4.4 / KitKat e sopra) con Nexus 5
  • java.lang.OutOfMemoryError: Imansible allocare una allocazione di byte 31961100 con 15257484 byte gratuiti e 14 MB fino a OOM
  • Streaming video e Android
  • Come posso aprire il browser android con parametri POST specificati?
  • possiamo avere sia l'ascoltatore di Button e onTemClick in ListView in android?
  • 2 Solutions collect form web for “Non funziona quando si utilizza ProGuard”

    Potrebbe essere necessario aggiungere

     -keepattributes EnclosingMethod 

    Aggiunta del EnclosingMethod alla proguard config non mi ha aiutato.

    Tuttavia mantenendo l'attributo InnerClasses , sono stato in grado di build un APK funzionante correttamente

    L'Android è un fan Android di Google, tutto su telefoni Android, Android Wear, Android Dev e applicazioni Android Games e così via.