문제점해결

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

예쁜꽃이피었으면 2014. 7. 30. 00:01

http://aroundck.tistory.com/1873


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 된다.


반응형