2022. 5. 20. 09:52ㆍAndroid
원래는 GSON 을 잘 안쓰고 JSON으로 하나씩 다 풀었지만
어느순간 이것마저 귀찮아서 Retrofit 으로 Json 을 받을때 SerializedName 이용해 GSON 으로 풀려고 하였다.
서브 프로젝트 할때는 잘되다가 회사 프로젝트에 적용 시켜볼려니 NullPointerException 뜬다
머가 문제일까 계속 봐도 모르겠다. response.body 만 찍고 Log 를 봤을땐 분명 데이터가 있는데
혹시 몰라 java 로 data 클래스 만들어 해보니 된다.
마음같아서는 그냥 java 로 해버리고싶지만 문제의 근본을 해결하지못한 찜찜함 때문에 찾아보기로 하던중
찾았다 문제는 Proguard 때문에 생기던거였다.
해결방법으로는
proguard-rules.pro 에
-keepclassmembers,allowobfuscation class * {
@com.google.gson.annotations.SerializedName <fields>;
}
추가 해주면된다.
https://ddolcat.tistory.com/455
[gson] gson.fromJson으로 데이터를 가져오지 못할 때 ( 코드 난독화)
gson라이브러리를 이용하여, json타입의데이터를 가져오는 작업을 하였다. 정상적으로 동작하던 코드가 난독화를 하고 난 후부터 동작을 제대로 하지 않는 문제가 발생하였다. 예전에도 이런 케
ddolcat.tistory.com
이글을 참고하였다
저기서 2가지의 방법을 제시 하는데 저는 2번째 방법을 채택했다.
'Android' 카테고리의 다른 글
Android MVVM 아키텍처 패턴에 관하여 2 (0) | 2022.06.14 |
---|---|
Android MVVM 아키텍처 패턴에 관하여 1 (0) | 2022.06.14 |
Android 12 Splash Screen 대응 (0) | 2022.05.18 |
Android Hilt 에 대해 정리 (0) | 2022.05.09 |
Android Paging3 , Room , Flow 관련 백그라운드 쓰레드 (0) | 2022.05.04 |