APP/React Native

[React Native, android] proguard 설정시 webview 안보이는 문제 해결

verbena 2023. 12. 29.

플레이스토어에 rn으로 패키징한 앱을 배포하기 위해 aab 파일을 올렸는데 심사에서 거부당했다.

원인은 비정상적인 앱의 중지 (화면이 나오지 않는다거나, 앱이 설치되지 않는다거나, 앱이 실행 중 강제 중지 되는 경우.. 등등)

apk로 추출했을 때는 문제가 발생하지 않았기 때문에 aab로 추출시 생기는 문제라고 판단했다.

출시를 해야만 하는 상황이었기 때문에 심사 거부를 당하고 굉장히 당황했지만 일단 aab를 어떻게 해서든 까봐야 한다고 생각했다.

그래서 aab 핸드폰에 우선 설치해서 정말 문제가 있는건지 판단하려고 했다.

aab 파일을 기기에 설치하기

https://030822-verbena.tistory.com/entry/android-aab-%ED%8C%8C%EC%9D%BC%EC%9D%84-apk%EB%A1%9C-%EB%B3%80%ED%99%98%ED%95%98%EA%B8%B0

 

[android] aab 파일을 apk로 변환하기

aab 파일은 apk와 달리 바로 기기에 깔리지 않는다. https://github.com/google/bundletool/releases Releases · google/bundletool Bundletool is a command-line tool to manipulate Android App Bundles - google/bundletool github.com 여기서 bundl

030822-verbena.tistory.com

aab를 apk로 변환해서 설치해보니 정말 웹뷰가 열리지 않아 흰 페이지만 떴다..

심장이 떨어지던 찰나 빠르게 문제를 해결해야해서 정신차리고 이것저것 시도해보기 시작

처음엔 webview url을 naver로 바꿔봤다. naver는 띄웠으니 웹뷰의 uri문제인가 싶었는데 더한 구글링 끝에 앱 코드 난독화를 위해 설정한 proguard가 webview 라이브러리와 충돌해서 생긴 일이었다. 

이리저리 찾아헤맨 끝에 proguard룰에 webview 충돌을 방지하는 코드를 삽입했더니 release한 apk에 webview가 떴다.. 이후 한번에 심사 통과하고 앱 배포까지 마무리 할 수 있었다

 

적용한 proguard-rules.pro

https://github.com/typeorm/react-native-example/blob/master/android/app/proguard-rules.pro

 

댓글