Proguard를 적용하고 난 후에만 DTO, VO, POJO라고 불리는 클래스들이 데이터를 받아 오지 못하는 현상 발생.
Gson을 사용하여 jsonArray안의 jsonObject를 파싱하는 코드이다.
Type listType = new TypeToken<List<JsonAfTvHotIssue>>() {}.getType();
List<JsonAfTvHotIssue> list = gson.fromJson(jsonObjecInJsonArray, listType);
jsonArray가 담기는 list의 사이즈는 서버에서 보내준대로 잘 받아왔지만 list의 요소인 jsonObject의 값들은 null로 받아오지 못하였다.
JsonAfTvHotIssue의 변수 이름은 json key값들로 이루어져 있는데 Proguard를 통해 변수명이 변경되어서 값들을 받아오지 못한다.
해결방법
proguard-rules.pro프로가드 에서 json파싱에 이용되는 DTO, VO, POJO 클래스들을 난독화하지 않도록 설정해준다.
-keep class kr.co.tvlet.blt.dabom_video_module.data.** { *; }
'Android > Apk build' 카테고리의 다른 글
[android] 구글 플레이 앱 서명 시 알아야 할 몇 가지 (0) | 2018.04.06 |
---|---|
[android] api, aar파일명 변경(version정보 포함) (0) | 2018.03.29 |
[android] gradle signature versions v1 v2 (0) | 2018.03.22 |
[android] Debug Vs Release Build Check in Running Code (0) | 2018.03.21 |
[android] APK에 자동으로 서명하도록 빌드 프로세스 구성 (0) | 2018.03.21 |