티스토리 뷰

React Native (이하 RN) 은 안드로이드와 아이폰을 모두 개발할 수 있고 웹에서 React 를 사용한다면 거의 흡사한 같은 환경을 갖는 것으로 봐도 된다. 하지만 단점도 존재하는데 그 중에 가장 큰 것은 버전이 1 밑이고 변화가 많을 뿐더러 개발자 분들이 공유해 주시는 좋은 라이브러리들이 환경에 따라 어떻게 동작할 지 모른다는 것이다.

그래서 개발을 잘 하다가 라이브러리는 가져다가 사용했을 때 오동작하는 경우가 발생하면 앱이 기동되지 않고 이를 해결하기 위해 무한 구글링을 시작해야 한다. 그래도 다행인 점은 먼저 고생해주시는 분들이 많이 계셔서 해결이 불가능 하지는 않다..그래도 힘듬. ㅠ

이번에는  react-native-swiper 를 사용하기 위해서 가져왔는데 갑자기 안드로이드가 기동되지 않았다. 에러는 아래와 같았다.

이 글의 제목이기도 원인을 정말 알 수가 없었다.

구글에서 찾아보니 원인은 알았으나 왜 발생하는 지는 알 수 없었다..ㅠ
해결방법은 https://github.com/wix/react-native-navigation/issues/4757 여기에 있으며 방법을 다시 적어 보면

1. RN 프로젝트 밑의 android/gradle/wrapper/gradle-wrapper.properties 의 distributionUrl 의 값을 https\://services.gradle.org/distributions/gradle-4.10.1-all.zip
로 변경한다.

2. RN 프로젝트 밑의 android/build.gradle 의 dependencies 의 class path 의 값을 'com.android.tools.build:gradle:3.3.0'  
로 변경한다.

3. https://github.com/facebook/react-native/blob/0.59-stable/template/metro.config.js 의 내용을 복사하여 내 RN 프로젝트 밑에 metro.config.js 파일을 만들고 붙여넣어 준다.

module.exports = {
transformer: {
getTransformOptions: async () => ({
transform: {
experimentalImportSupport: false,
inlineRequires: false,
},
}),
},
};

그리고 react-native run-android 를 실행하면 정상적으로 빌드되는 것을 볼 수 있다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함