React-native 0.54 + OpenCV 3.4.3 + Android studio 3.2.1

1. 테스트 스펙
- Windows 10
- React-native 0.54
- OpenCV 3.4.3
- Android studio 3.2.1
- 갤럭시 S8(실기기)

2. React-native-opencv
https://github.com/brainhubeu/react-native-opencv-tutorial에서 소스를 clone 혹은 다운로드.

3. 2.의 페이지에서 시키는대로 한다.
+ openCVLibrary341을 openCVLibrary343으로. 다른 버전이라면 버전에 맞게 변경.
+ android\gradle\wrapper\gradle-wrapper.properties의 distributionUrl을 https\://services.gradle.org/distributions/gradle-4.4-all.zip 정도로 바꿔준다.
+ android\build.gradle > dependencies > classpath를 'com.android.tools.build:gradle:3.1.3' 정도로 바꿔준다.


4. 안된다.
* react-native command가 없다.
- npm install -g react-native-cli

* google()이 없다.
 - android\build.gradle의 buildscript > repositories, allprojects > repositories,에 google() 추가. google()이 jcenter() 보다 위에 와야한다는 말이 있다.

* android.support.v4 has different version for the compile (에러 메시지 정확하지 않음)
 - android\app\build.gradle > dependencies > implementation 'com.android.support:appcompat-v7:27.1.0' 정도로 수정

* Module > Dependencies에서 OpenCV를 못찾는다.
 - 일단 넘어갔는데 원인불명. 둘다 비슷한 결과였던 것 같은데 본인은 2안으로 진행. 
 - 1안 : + 버튼 > JARs or directories를 통해 추가
 - 2안 : 프로젝트가 있는 폴더의 상위 폴더를 만들고 이동시킨 후(ex> project\ => parent\project\) android studio를 다시 시작해서 이동시킨 프로젝트로 불러옴. openCVLibrary343를 지우고 Files > New > Import Module로 다시 찾아온다. 

* Execution failed for task ':app:compileDebugJavaWithJavac' + Deprecated API
 - android\settings.graddle 맨 밑에 project(':openCVLibrary343').projectDir = new File(rootProject.projectDir, '../openCVLibrary343') 추가. openCVLibrary343 폴더가 다르다면 맞게 변경.

* .sh 파일이 실행이 안된다.
 - OpenCV 공식 홈페이지에서 Android, IOS 버전 다운로드
 - (Android) sdk\native\libs 아래의 파일들을 android\app\src\main\jniLibs\로 복사
 - (IOS) opencv2.framework 아래의 파일들을 ios\로 복사

* 앱이 설치되지 않는다.
- 개발자 옵션 활성화
- USB 디버깅 허용
- 기기 연결 후 Android studio > View > Tools window > Device File Explorer에 제대로 뜨는지 확인(선택사항) 

* (앱 설치 후) Native module XXX tried to override ~
 - MainApplication.java의 getPackages() 함수에서 중복 포함된 패키지를 지운다.

* (앱 설치 후) Unable to load script from assets index.android.bundle
- https://stackoverflow.com/questions/44446523/unable-to-load-script-from-assets-index-android-bundle-on-windows 이 페이지 참조

* (앱 설치 후) 계속 하얀 화면 혹은 서버가 연결되지 않았음
- ADB를 설치 혹은 Android SDK 설치 경로(본인은 C:\Users\[사용자이름]\AppData\Local\Android\Sdk\platform-tools)에 abd.exe가 있는지 확인
- 환경변수에 adb.exe가 있는 폴더를 등록하나 cmd로 찾아들어가서 adb reverse tcp:8081 tcp:8081


이 블로그의 인기 게시물

Postgresql에서 5432 port가 열려있냐는 문제(Ubuntu 기준)

vue에서 v-html에 포함된 class의 css가 적용되지 않는 경우

Linux screen 명령어 정리