Error when applying Gson guide.

Asked 2 years ago, Updated 2 years ago, 102 views

When applying Proguard to Android project, Gson encountered a bug, so I'm posting a question.

-keepattributes Signature
-keepattributes *Annotation*
-keep class kr.co.co.company.model.** { *; }
-keepclassmembers class kr.co.co.company.mode.** { *; }
-keep class sun.misc.Unsafe { *; }
-keep class com.google.gson.stream.** { *; }
-keep class * implements com.google.gson.TypeAdapterFactory
-keep class * implements com.google.gson.JsonSerializer
-keep class * implements com.google.gson.JsonDeserializer
07-31 02:10:27.313 16727-16727/kr.co.company E/AndroidRuntime: FATAL EXCEPTION: main
                                                              Process: kr.co.company, PID: 16727
                                                              java.lang.IllegalArgumentException: class e.h$b declares multiple JSON fields named a
                                                                  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.getBoundFields(ReflectiveTypeAdapterFactory.java:170)
                                                                  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory.create(ReflectiveTypeAdapterFactory.java:100)
                                                                  at com.google.gson.Gson.getAdapter(Gson.java:423)
                                                                  at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:56)
                                                                  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:125)
                                                                  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:243)
                                                                  at com.google.gson.internal.bind.TypeAdapterRuntimeTypeWrapper.write(TypeAdapterRuntimeTypeWrapper.java:69)
                                                                  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$1.write(ReflectiveTypeAdapterFactory.java:125)
                                                                  at com.google.gson.internal.bind.ReflectiveTypeAdapterFactory$Adapter.write(ReflectiveTypeAdapterFactory.java:243)
                                                                  at com.google.gson.Gson.toJson(Gson.java:669)
                                                                  at com.google.gson.Gson.toJson(Gson.java:648)
                                                                  at com.google.gson.Gson.toJson(Gson.java:603)
                                                                  at com.google.gson.Gson.toJson(Gson.java:583)
                                                                  at kr.co.company.g.c.a(GsonUtil.java:33)
                                                                  at kr.co.company.global.c.a(GlobalFunction.java:166)
                                                                  at kr.co.company.activity.IndexActivity$2.a(IndexActivity.java:87)
                                                                  at e.g$a$1$1.run(ExecutorCallAdapterFactory.java:70)
                                                                  at android.os.Handler.handleCallback(Handler.java:751)
                                                                  at android.os.Handler.dispatchMessage(Handler.java:95)
                                                                  at android.os.Looper.loop(Looper.java:154)
                                                                  at android.app.ActivityThread.main(ActivityThread.java:6317)
                                                                  at java.lang.reflect.Method.invoke(Native Method)
                                                                  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:872)
                                                                  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:762)

Thank you!

android gson

2022-09-22 20:06

1 Answers

I solved it.


2022-09-22 20:06

If you have any answers or tips


© 2024 OneMinuteCode. All rights reserved.