구글 플레이스토어에 앱 업데이트를 위해 알파버전을 업로드해 테스팅을 진행하고 있는데,
구글에서 테스트한 기기에서 발생한 것 이외에도 직접 업데이트를 진행했을 때
no properties to serialize found on class Exception 이 발생하면서 앱이 초기에 종료되는 현상이 있었다.
서치에다 수정을 반복해서(거의 반나절을) 오류를 잡을 수 있었는데
원인은
1. 번들이나 apk로 만들어질 때 릴리즈 버전에 적용되는 proguard rule
2. Firebase와 연관된 변수들이 private으로 적용됨
정도가 있었다.
1번의 경우
#firebase 관련 이슈 핸들링 위해 proguard rules 수정
-keep public class com.회사.entity.*
-keepclassmembers class com.회사.entity.** {*;}
두가지의 조건을 추가하였고(두가지가 필수적이거나 마지막 항목인 -keepclassmembers 가 핵심적일 수 있음)
2번의 경우
Firebase와 연관된 모든 변수들의 private을 public으로 변경해주었다.
결과는 성공적으로, 크래쉬가 발생하지 않고 업데이트를 무사히 마치는 것을 확인할 수 있었음.
<참조>
https://stackoverflow.com/questions/46254266/firebase-no-properties-to-serialize-found-on-class