출처: http://lsit81.tistory.com/entry/ProGuard-keep-Generic
Gson을 이용하여 JSON 데이터를 파싱하는 기능을 구현하였습니다.
그런데 해당 프로젝트에 ProGuard를 적용시켜 동작을 시켜보니 JSonParserException 이 나타나는
문제가 발생되어 Decompile을 통해 원인을 알아보니 ProGuard를 적용시키면서 Generic으로 선언된
변수에서 "<Generic>" 선언 부가 제거된 것을 확인 할 수 있었습니다.
* 원본 코드
public Collection<Theme> Themes; |
* Proguard가 적용되고 난 이후 코드
public Collection Themes; |
위와 같은 문제가 발생되어 해결책을 알아본 결과 "proguard.cfg"에
-keepattributes Signature
를 추가함으로써 해당 문제를 해결할 수 있었습니다.
다음은 ProGuard Manual에 표시된 원문입니다.
The "Signature" attribute is required to be able to access generic types when compiling in JDK 5.0 and higher. |
'IT_Programming > Dev Tools' 카테고리의 다른 글
[펌] .gitignore 이 적용되지 않아??? (0) | 2014.04.21 |
---|---|
Android Studio Gradle build (0) | 2013.11.07 |
[Mercurial] TortoiseHG를 이용한 버전관리 및 conflict 해결법 (0) | 2013.07.04 |
[펌] Mercurial + TortoiseHG 기초 메뉴얼 (0) | 2013.07.04 |
Visual Studio 2008 단축키 및 단축키 변경 (0) | 2012.06.05 |