다양한 라이브러리를 사용하는 만큼, 다양한 ProGuard를 사용해야 합니다.
그런데, 어떤 라이브러리는 이 부분에 대해서 명확히 정리하고 있고,
또 어떤 라이브러리는 그렇지 못합니다.
오늘은 제가 주로 사용하는 라이브러리들의 Proguard세팅과 링크들을 정리해 보겠습니다.
1. Retrofit & OkHttp
안드로이드 앱에서 네트워크를 사용한다면 대부분이 사용하는 라이브러리일 것 같은데요.
라이브러리도 잘 만들었지만, Proguard룰도 홈페이지에 잘 정리해 두었습니다.
역시 믿고 의지하는 Square네요.
아래 링크의 페이지에서, 하단부에 Proguard-Rule을 소개하고 있구요.
더불어 Retrofit이 사용하는 OkIo의 Proguard-Rule의 링크도 제공해 주고 있습니다.
http://square.github.io/retrofit/
참고로 OkHttp는 Proguard Rule이 필요하지 않다고 하는군요.
물론, JakeWharton 님께서 말씀해주신 거지만요.(https://github.com/square/okhttp/issues/2230)
일부 에러가 난다는 분도 있지만, 위의 링크를 참조해 주시면 좋을 것 같네요.
2. JSoup
Http파싱에 많이 사용하는 Jsoup인데요. 아래 한줄정도만 필요로 하는군요.
-keep public class org.jsoup.** { public *; }
3. GSon
json파싱에 많이 사용하는 GSon도 Rule이 필요한데요. 조금 긴 편입니다.
아래 링크를 참조해 주시구요.
https://github.com/google/gson/blob/master/examples/android-proguard-example/proguard.cfg
4. AdMob
앱의 수익화에 필수인 Admob도 Proguard룰이 필요하다고 하는데요.
https://firebase.google.com/docs/admob/android/faq?hl=ko
4. Realm
Realm은 Proguard룰이 필요하지 않습니다.
라이브러리 내부적으로 Proguard 설정을 해주고 있다고 하는군요.
역시 멋있네요~.
아래 링크를 참조해 주세요
https://realm.io/docs/java/latest/#proguard
5. RxJava 2.x / RxAndroid 2.x
RxJava의 경우는 null을 허용하는 버전 1.x의 경우, Proguard-rule이 필요한 것으로 알려져 있습니다.
오픈소스 개발자들이 샘플 proguard를 제공해주자는 애기는 나왔던 것으로 알고 있지만요.
아직 공식 홈페이지나 GitHub에서 제시해준 Proguard-rule 같은 것은 없습니다.
개인 개발자들이 대안으로 제시하고는 있는 것들만 인터넷에 있습니다.
참고로, null값을 허용하지 않는, RxJava 2.x는 Proguard-Rule이 필요하지 않은 것으로 알려져 있는데요.
1.x의 지원도 1,2년 안에는 끝날 듯 하니, 되도록이면, 2.x버전을 사용하는 것이 좋을 것 같습니다.
(물론 많이 바뀐 2.x대에 대해서 공부해야하는 cost가 있긴 하지만요.)
6. Glide
구글이 인수했다고 하는 Glide는 공식 github페이지에 Proguard-rule을 정리해서 올려주었습니다.
유료인 DexGuard를 사용하는 경우에는 추가로 한줄이 더 필요한데 아래링크를 참조해 주세요~.
https://github.com/bumptech/glide#proguard
'Android 개발 > PlayStore & 출시' 카테고리의 다른 글
데이터보안 양식 잘못됨 SPLIT_BUNDLE 13 정책 선언 # Google Play (0) | 2023.04.14 |
---|---|
안드로이드앱 내부배포시 Play 프로텍트 문제 해결 # 내부 테스트 (0) | 2020.10.08 |
GooglePlay 앱서명(app signing)으로 HashKey 만들기 (0) | 2017.09.12 |
PlayStore 출시전에 Log 제거하기 (0) | 2017.07.13 |
com.android.dex.DexIndexOverflowException 대처하기 (1) | 2017.07.05 |
앱 설치시 바로가기 아이콘 설치 구현 (0) | 2017.07.02 |
Android 앱 내에서 구글플레이 상세보기로 이동 링크 (0) | 2017.01.01 |
Android 마켓에 출시된 앱 업데이시 App 버전 관리 (2) | 2017.01.01 |
댓글