728x90
반응형

앱을 릴리즈로 빌드한 다음 실제 기기나 에뮬레이터에서 실행했을 때 충돌(Crash)이 나는 경우가 있다.

 

이럴 땐 어디서 에러가 났는지 확인해야하는데 다음의 명령어로 로그를 확인할 수 있다.

$ adb logcat *:E

이번에 react-native-svg를 적용하면서 앱이 실행과 동시에 죽는 경우가 발생했다.

 

이를 해결하기 위해 위의 명령어로 로그를 살펴보니 다음과 같이 나왔다.

07-01 02:49:52.865 26792 26792 E AndroidRuntime: java.lang.IllegalStateException: java.lang.NoSuchFieldException: fill
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.t.a(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.ad.a(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.t.d(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.j.b(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.j.a(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.t.d(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.j.b(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.j.a(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.t.d(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.j.b(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.j.a(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.t.d(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.x.a(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.x.j(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at com.horcrux.svg.x.onDraw(Unknown Source)
07-01 02:49:52.865 26792 26792 E AndroidRuntime:     at android.view.View.draw(View.java:17185)

progaurd로 난독화를 한 후 찾지 못해서 난 오류로 해당 라이브러리를 난독화에서 제외하면 된다.

 

해결 방법은 android/app/progauard-rules.pro에 다음을 추가하고 빌드하면 된다.

-keep public class com.horcrux.svg.** {*;}

 

참고 문헌

  1. https://github.com/react-native-community/react-native-svg/issues/481

반응형

'React Native' 카테고리의 다른 글

[React Native] Async Storage 사용하기  (0) 2020.01.25
[React Native] MultiDex 추가  (0) 2020.01.25
[React Native] Firebase Analytics 사용  (0) 2020.01.25
[React Native] Webview 사용  (0) 2020.01.25
[React Native] Admob 사용  (0) 2020.01.25
728x90
반응형

앱을 배포한 이후에 사용자가 어떤 행동을 하는지 알고 싶어졌다.

 

그래서 react-native-firebase를 이용하여 수집하기로 했다.

 

yarn으로 설치하거나 다음을 실행하면 된다.

$ npm install --save @react-native-firebase/app
$ react-native link @react-native-firebase/app
$ npm install --save @react-native-firebase/analytics
$ react-native link @react-native-firebase/analytics

코드에 추가하는 방법은 3가지가 있는데 가장 간략한 방법으로 추가했다.

import analytics from '@react-native-firebase/analytics';

// analytics().X

다음의 함수들을 이용하여 로그를 수집할 수 있다.

logEvent
resetAnalyticsData
setAnalyticsCollectionEnabled
setCurrentScreen
setMinimumSessionDuration
setSessionTimeoutDuration
setUserId
setUserProperties
setUserProperty

 

참고 문헌

  1. https://github.com/invertase/react-native-firebase/tree/master/packages/analytics

  2. https://github.com/invertase/react-native-firebase/tree/master/packages/app

  3. https://invertase.io/oss/react-native-firebase/v6/analytics/reference

반응형

'React Native' 카테고리의 다른 글

[React Native] MultiDex 추가  (0) 2020.01.25
[React Native] Firebase 충돌 해결  (0) 2020.01.25
[React Native] Webview 사용  (0) 2020.01.25
[React Native] Admob 사용  (0) 2020.01.25
[React Native] 폰트 추가(2)  (0) 2020.01.25

+ Recent posts