2016-03-31 13 views
7

Stiamo ricevendo IncompatibleClassChangeError nel dispositivo Samsung quando l'utente aggiorna l'app da Play Store. Si prega di controllare sotto il registro.IncompatibleClassChangeError com.google.gson.annotations.SerializedName.value

java.lang.IncompatibleClassChangeError: Couldn't find com.google.gson.annotations.SerializedName.value 
at libcore.reflect.AnnotationAccess.toAnnotationInstance(AnnotationAccess.java:659) 
at libcore.reflect.AnnotationAccess.toAnnotationInstance(AnnotationAccess.java:641) 
at libcore.reflect.AnnotationAccess.getDeclaredAnnotation(AnnotationAccess.java:170) 
at java.lang.reflect.Field.getAnnotation(Field.java:242) 
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldName(ReflectiveTypeAdapterFactory.java:71) 
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getFieldName(ReflectiveTypeAdapterFactory.java:67) 
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:142) 
at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:83) 
at com.google.gson.Gson.getAdapter(Gson.java:359) 
at com.google.gson.Gson.fromJson(Gson.java:809) 
at com.google.gson.Gson.fromJson(Gson.java:775) 
at com.google.gson.Gson.fromJson(Gson.java:724) 
at com.google.gson.Gson.fromJson(Gson.java:696) 
at com.cubii.utils.SessionManager.getUserID(SessionManager.java:70) 
at com.cubii.BluetoothLeService.broadcastUpdate(BluetoothLeService.java:188) 
at com.cubii.BluetoothLeService.access$400(BluetoothLeService.java:47) 
at com.cubii.BluetoothLeService$1.onCharacteristicChanged(BluetoothLeService.java:139) 
at android.bluetooth.BluetoothGatt$1.onNotify(BluetoothGatt.java:443) 
at android.bluetooth.IBluetoothGattCallback$Stub.onTransact(IBluetoothGattCallback.java:399)`enter code here` 
at android.os.Binder.execTransact(Binder.java:446) 

E il codice è il seguente:

public int getUserID(){ 
    try { 
     String json = preferences.getString("User", ""); 

     LoginResponse loginResponse = new Gson().fromJson(json, LoginResponse.class);//getting error from this line 

     Integer id = 0; 
     if (loginResponse != null) { 
      if (loginResponse.getId() != null) { 
       id = loginResponse.getId(); 
      } else { 
       id = loginResponse.getUserId(); 
      } 
     } 

     return (id == null) ? 0 : id; 
    }catch (Exception e){ 
     Logger.dump(e); 
    } 
    return 0; 
} 

LoginResponse è la mia classe POJO.

preferences.getString("User", "") 

restituirà stringa JSON che è la risposta del server.

risposta

6

Sembra un problema di Samsung .. Molte persone hanno lo stesso problema non solo con lib di gson ma anche con altre librerie. Penso che non si possa fare molto, attendere che gli sviluppatori di Samsung risolvano questo .. Già questa domanda è sollevata sul forum degli sviluppatori di Samsung http://developer.samsung.com/forum/board/thread/view.do?boardName=General&messageId=280930

Ci sono più segnalazioni del problema qui e riguarda solo i dispositivi Samsung. https://code.google.com/p/android/issues/detail?id=172339

Modifica

Alcuni di loro sono anche avendo questo problema su dispositivi diversi da Samsung in modo che non può essere colpa completamente Samsungs. Questo problema è già stato assegnato al team di Google. Come uno dei membri del team di Google ha menzionato se qualcuno può condividere la segnalazione di bug al team, può risolvere il problema al più presto.

Dopo che riproduce il problema, individuare le impostazioni di sviluppo, garantire ‘debug USB’ è abilitato, quindi attivare ‘Bug Report scorciatoia’. Per prendere la segnalazione di bug , tieni premuto il pulsante di accensione e seleziona l'opzione 'Porta bug report' .

Nota: Si prega di caricare la segnalazione di bug per Google Drive e condividere la cartella a [email protected], poi condividere il link here.

+0

Grazie @SunilSunny –

+0

@SanjayKakadiya Siete i benvenuti ..Hope questo viene risolto al più presto .. –

+0

sto ancora affrontando questo problema. qualche risoluzione? – Tasneem