RN 안드로이드 릴리즈 버전 디버그
RN 안드로이드 릴리즈 버전 디버그
adb logcat \*:E
안드로이드를 릴리즈로 빌드하고 나면 디버깅이 힘들다. adb로 로그캣을 찍어서 보면 된다. 로그가 굉장히 많이 뜨는데 에러가 뜨는 부분만 살펴보면 된다.
로그가 너무 많아 보기 힘들다면 텍스트 파일로 저장하면 된다. 윈도우에서는 다음과 같이 하면 된다.
adb logcat \*E -d > logs.txt
Proguard 적용 에러
빌드 할 때 proguard를 적용하면 난독화와 약간의 코드 압축을 진행한다. react native svg를 사용하고 있는데 에러가 났다.
에러 로그 부분을 보니 com.horcrux.svg 부분에서 에러가 나는 것을 확인할 수 있었다. 난독화 한 후 해당 리소스를 찾을 수 없어서 나는 에러이다.
이 때 해당 리소스는 난독화에서 제외하면 된다.
android/app/progauard-rules.pro에 다음을 추가하고 빌드한다.
-keep public class com.horcrux.svg.*_ {_;}
구글 플레이스토어 테스트
앱을 테스트에 올리면 구글에서 인공지능으로 테스트해준다. 엄청 좋다. 크래시 나는 부분이나 사용성 이슈가 생기는 부분을 미리 알려주는데 도움이 된다.
내가 겪은 건 클릭 요소가 48px 이상이어야 하는 문제였다. 크래시 이슈는 리액트 네이티브 네비게이션이 안드로이드 4.3 버전에서 크래시가 나는 부분이었다. 4.3에서는 지원이 안되는것 같다. 내가 할 수 있는 부분이 아니라서 스킵했다.
RN 뷰 조건부 렌더링 (ternary expression)
뷰에서는 && 연산자를 사용하는것보다 삼항 연산자를 사용하는게 에러가 덜 난다. 조건이 없을 경우에 가끔 에러가 나는 경우가 있다.
widgetNumber === 10 && <MyComponent />
이렇게 하는것보다
widgetNumber === 10 ? <MyComponent /> : null
이렇게 하는게 좋다.