Recent Posts
밍쯔와 안작고 안귀여운 에러들🖤
[Android] Proguard로 인한 앱 출시 후 오류 발생 본문
최근 인턴 중인 곳에서 내가 오기전 완료했던 서브프로젝트에 문제가 생겼다.
코드 상에는 문제가 없고, 에뮬레이터&디버깅 할 때 아무 문제가 없는데 스토어에서 다운받은 앱은 서버 통신이 안되는 문제가 있었다.
처음에는 요구받았던 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
https://imcreator.tistory.com/101
'Develop > Android | iOS' 카테고리의 다른 글
[Android] 특수문자, 한글, 영어 체크 (0) | 2022.05.04 |
---|---|
[Android/Java/Firebase] 휴대전화 인증, 인증번호 (0) | 2022.04.28 |
[Android] addTextChangedListener 추가 후 키보드 다음 버튼 오류 (0) | 2022.04.27 |
[Android] 텍스트 채워졌을 때 버튼 색 변경, TextWatcher (0) | 2022.04.26 |
[Android] Retrofit에서 null 값 받기 (0) | 2022.04.21 |