[안드로이드] gradle - minifyEnabled 와 shrinkResources 에 대해

2019. 4. 24. 17:26Programing/Debugging

 

 

이번에 재다이얼 어플을 만들면서 신기한 경험을 하게 됐다. 

 

https://victor8481.tistory.com/772?category=97690

 

[Auto Redial][재다이얼] 안드로이드 자동 재다이얼 어플

https://play.google.com/store/apps/details?id=com.bareum_sw.autoredial 자동 재다이얼 - Google Play 앱 해당 어플을 손 쉽게 재 다이얼을 할 수 있는 기능을 제공합니다. - 자동 재다이얼 - 자동 통화 종료 -..

victor8481.tistory.com

 

 

분명해 개발 당시 테스트를 할때는 시스템에 접근하는 기능이 모두 정상적으로 동작을 했다. 예로, 전화 종료하기!

근데, 플레이스토어에서 받은 버전은 동작은 한하는 것!!!

 

원인은 바로 minifyEnabled/shrinkResources.

debug에서는 false로 설정이 되어 있고, release에서는 true로 해놨다. 

누구나 그렇듯 빌드 속도와 리소스 관리 차원에서다. 

그래서 해당 옵션을 끄고 나서 Release를 하고 나니 정상 동작을 한다. 

 

디버깅 결과 시스템 접근 관련 코드도 줄여버린다... 즉,, 동작하지 않게 막아버리는 것이다. 

시스템 관련 기능을 추가하는 어플이라면, 해당 옵션을 반드시 끄기 발란다. 

다만, 난독화의 문제가 생기기 때문에, 이부분에 대한 해결 방안은 고민해 봐야 할 것 같다.