致命异常:java.lang.IncompatibleClassChangeError:找不到com.google.a.a.c.a

4
我在Samsung设备的CrashListics中反复收到这个异常,操作系统为5.0.1。我在Stack Overflow上搜索了很多,并发现这是Samsung设备中的一个错误,但找不到任何解决方法。有人能建议我如何处理这个异常(任何解决方案或任何技巧)吗?
致命异常:java.lang.IncompatibleClassChangeError: 找不到com.google.a.a.c.a 在libcore.reflect.AnnotationAccess.toAnnotationInstance(AnnotationAccess.java:659)中 在libcore.reflect.AnnotationAccess.toAnnotationInstance(AnnotationAccess.java:641)中 在libcore.reflect.AnnotationAccess.getDeclaredAnnotation(AnnotationAccess.java:170)中 在java.lang.reflect.Field.getAnnotation(Field.java:242)中 在com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.excludeField(Unknown Source)中 在com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.excludeField(Unknown Source)中 在com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.excludeField(Unknown Source)中 在com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.excludeField(Unknown Source)中 在com.google.gson.Gson.doubleAdapter(Unknown Source)中 在com.google.gson.Gson.doubleAdapter(Unknown Source)中 在com.google.gson.Gson.doubleAdapter(Unknown Source)中 在com.google.gson.Gson.doubleAdapter(Unknown Source)中 在com.google.gson.Gson.doubleAdapter(Unknown Source)中 在com.app.Data.Sessions.LoginSession.createLoginSession(Unknown Source)中 在com.app.Data.UserInformation.getInfo(Unknown Source)中 在com.app.Main.LocationUpdateService.locationUpdate(Unknown Source)中 在com.app.Main.LocationUpdateService.locationUpdate(Unknown Source)中 在com.app.Main.LocationUpdateService$1.onLocationChanged(Unknown Source)中 在android.location.LocationManager$ListenerTransport._handleMessage(LocationManager.java:281)中 在android.location.LocationManager$ListenerTransport.access$000(LocationManager.java:210)中 在android.location.LocationManager$ListenerTransport$1.handleMessage(LocationManager.java:226)中 在android.os.Handler.dispatchMessage(Handler.java:102)中 在android.os.Looper.loop(Looper.java:145)中 在android.app.ActivityThread.main(ActivityThread.java:5942)中 在java.lang.reflect.Method.invoke(Method.java)中 在java.lang.reflect.Method.invoke(Method.java:372)中 在com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1399)中 在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1194)中
在createLoginSession中,我正在做的是:
public void createLoginSession(UserData userData) {
    Gson gson = new Gson();
    String info = gson.toJson(userData);
    editor.putString(INFO, info);
    editor.commit();
}

你在 gradle 中使用 ProGuard 吗? - RoShan Shan
@RoShanShan 是的,我正在使用。 - Kapil Rajput
1个回答

3

您需要保留模型UserData,不要混淆它。像这样:

-keep class yourpackage.model.** { *; }

并且保留您的gson

-keep class com.google.gson.stream.** { *; }


@KapilRajput有帮到您吗? 如果有,请标记为答案。 - David Papirov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接