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() 보다 위에 와야한다는 말이 있다.
- 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' 정도로 수정
- 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\로 복사
* .sh 파일이 실행이 안된다.
- OpenCV 공식 홈페이지에서 Android, IOS 버전 다운로드
- (Android) sdk\native\libs 아래의 파일들을 android\app\src\main\jniLibs\로 복사
- (IOS) opencv2.framework 아래의 파일들을 ios\로 복사
* 앱이 설치되지 않는다.
- https://developer.samsung.com/galaxy/others/android-usb-driver-for-windows 여기서 USB Driver 설치.
- 개발자 옵션 활성화
- 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
* (앱 설치 후) 계속 하얀 화면 혹은 서버가 연결되지 않았음
- ADB를 설치 혹은 Android SDK 설치 경로(본인은 C:\Users\[사용자이름]\AppData\Local\Android\Sdk\platform-tools)에 abd.exe가 있는지 확인
- 환경변수에 adb.exe가 있는 폴더를 등록하나 cmd로 찾아들어가서 adb reverse tcp:8081 tcp:8081