밍쯔와 안작고 안귀여운 에러들🖤

[Android] Proguard로 인한 앱 출시 후 오류 발생 본문

Develop/Android | iOS

[Android] Proguard로 인한 앱 출시 후 오류 발생

밍쯔 2022. 4. 12. 11:57

최근 인턴 중인 곳에서 내가 오기전 완료했던 서브프로젝트에 문제가 생겼다.

코드 상에는 문제가 없고, 에뮬레이터&디버깅 할 때 아무 문제가 없는데 스토어에서 다운받은 앱은 서버 통신이 안되는 문제가 있었다.

 

처음에는 요구받았던 api가 너무 올드해서 호환이 안되는 것인가 하는 생각도 했고

(하나가 너무 오래된거라 구글스토어에서 빠꾸먹은게 있었음ㅎ)

버전 문제인가 싶어서 다 테스트 해보던 중 드디어,,, 드디어,,, 문제를 찾았다.

 

  • emulator나 debug 상에는 문제가 발생하지 않으나 apk에서 api가 실행되지 않음. 앱무결성 및 공동인증서에서 발생하는 오류의 공통점이 서버로 데이터가 전송되는데 문제가 있음을 파악함.
  • release모드에서 proguard 난독화로 인한 retrofit 메소드, 모듈의 난독화로 서버와의 통신에 문제가 발생했던

 

앱 출시할때 release 버전은

buildTypes {
        release {
            minifyEnabled true
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
            signingConfig signingConfigs.release
        }
        debug {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }

Proguard난독화가 켜져 있어서 다른 곳에서는 문제가 안보이고, 릴리즈 apk만 말썽이었던 것,,,, 

앱 출시 경험이 없었던 나는 이거 찾는데 하루 정도 걸렸다.....그래도 뿌듯...

 

아무튼 해결방법은 gradle 파일에서 "proguard-rules.pro"에 예외처리를 해주는 것!

여기에 http, retrofit 기타 gradle dependency에 포함된 난독화가 되면 오류가 날 것 같은

부분을 다 검색해서 추가해줬다! 그리고 해결!!!

 

 

 

[참고 사이트]

https://black-jin0427.tistory.com/188

 

[Android, Proguard] 안드로이드 프로가드 설정하기 2

안녕하세요. 블랙진입니다. 안드로이드 프로가드 설정하기 두번 째 포스팅 입니다. 지난 포스팅이 궁금하신 분은 이곳을 클릭해 주세요 :) 서론 안드로이드 개발을 하다보면 다양한 라이브러

black-jin0427.tistory.com

https://imcreator.tistory.com/101

 

[안드로이드] 개발할 때는 잘 되다 Google Play 배포후 앱이 죽을 때 (Proguard & Retrofit2)

혹시 Proguard로 난독화하고 릴리즈한 APK를 실험해보았는지 의심해보자! 혹시 Retrofit을 쓰고 있다면? 어제 오후 Google Play Store에 1차 배포를 완료한 후 신나게 퇴근하고 집에 들어와 배포 버전을 다

imcreator.tistory.com