Gson proguard 적용시 에러..

조회수 2202회

안드로이드 프로젝트에 Proguard를 적용하는 중 Gson에서 버그가 발생하여 질문 올립니다.

proguard-ruls.pro

-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

Error Log

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)

감사합니다!!

  • (•́ ✖ •̀)
    알 수 없는 사용자

1 답변

답변을 하려면 로그인이 필요합니다.

프로그래머스 커뮤니티는 개발자들을 위한 Q&A 서비스입니다. 로그인해야 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)