본문 바로가기
프로그래밍 놀이터/안드로이드, Java

[android] Proguard가 에러를 뿜어낼 때 해결 방법.

by 돼지왕 왕돼지 2013. 5. 18.
반응형



 Proguard 가 에러를 뿜어낼 때 해결 방법.

 


android proguard. 안드로이드 프로가드android proguard. 안드로이드 프로가드



Proguard 는 사용하면, decompile 을 어렵게 만들어

소스코드를 보호할 수 있다는 장점도 있지만,

한편으로는 Crash 가 발생했을 때 StackTrace 에 Proguard 를 통해 치환된 값들이 나온다는 단점도 있고,

외부 Library 를 적용할 때 에러를 뿜어내기도 한다.


필자의 경우 Flurry 라이브러리를 추가한 후에

Proguard 설정을 바꿔주지 않고선 [Export Signed Application Package..] 를 통해 Sign 을 하니


다음과 같은 에러를 신나게 뿜어댔다.


Note: there were 1153 duplicate class definitions.

... 중복여부 좌르륵 ...



필자 예상이지만, 아마도 flurry library 자체가

proguard 가 적용되어 이미 치환이 되었는데,

내 코드들이 proguard 적용되며 중복이 발생하여 생기는 에러같다.


이럴 때는 proguard 설정을 추가주어야 한다.

Flurry library 는 proguard 를 적용하지 않도록 해주면 된다.


proguard.cfg 파일을 열고

다음을 적어주면 문제 해결.


-keep class com.flurry.**{

*;

}


요렇게 추가해준 후 저장하고,

다시 [Exported Signed Application Package..] 를 하면 깔끔하게 export 된다.







반응형

댓글