아래는 코모스튜디오가 직접 만든 무료 앱이에요(한 번만 봐주세요 ^^)
java.lang.RuntimeException: Missing type parameter. at cohttp://m.google.gson.reflect.TypeToken.getSuperclassTypeParameter(Unknown Source:26) at cohttp://m.google.gson.reflect.TypeToken.<init>(SourceFile:1) at U2.e$a.<init>(SourceFile:1) at U2.e.a(SourceFile:8)
1. 위와 같은 문제 발생시 위치를 알기 어렵다.
--> Release, Debug 모두 확인 시 Release 에서만 발생 확인
2. Release 에서만 발생
--> 의심; minify, progard
--> 소스를 제대로 읽지 못해 발생 할 수 있으므로
2. gradle에
isMinifyEnabled = false
isDebuggable = true
로 설정 후 Release로 빌드 하면 에러 발생 안 함 확인 됨.
3. Progard
-keep class com.google.gson.** { *; }
-keep class com.comostudio.data.** { *; }
-keep class androidx.room.** { *; }
-keep class com.comostudio.workers.** { *; }
순서대로
1. gson 추가 후 TypeToken문제 해결 되고,
2. data에 해당 type 쓴 문제 해결 되고,
3. room에서 해당 type 사용 하는 곳 문제 되고,
4. worker에서 database작업 하는 부분 해결 됨.
Generic을 사용 하는 경우
위와 같이 Progard 에 대해 각별히 신경 써야 알아 먹는다.
이와 같이 설정 후 빌드 하면 문제 해결 완료 됨.
' [안드로이드 공부] > 안드로이드 공부' 카테고리의 다른 글
Caused by: java.lang.ClassNotFoundException: androidx.concurrent.futures.AbstractResolvableFuture (0) | 2023.07.14 |
---|---|
Caused by: java.lang.ClassNotFoundException: androidx.concurrent.futures.AbstractResolvableFuture (0) | 2023.07.13 |
cannot find symbol static runOnUiThread (0) | 2018.03.22 |
[안드로이드] arraylist 역순 정렬 (0) | 2017.08.24 |
[안드로이드] 자바 소수점 자르기 (0) | 2017.08.24 |
모든 게시물은 코모스튜디오의 소유이며, 무단 복제 수정은 절대 불가입니다. |
퍼가실 경우 댓글과 블로그 주소를 남기고 해당 게시물에 출처를 명확히 밝히세요. |