Android

OpenCV Android Studio Hedgehog 연동기

CommitGuy 2024. 1. 30. 23:45

Android Studio Hedgehog로 가며 Gradle이 kotlin script를 사용하게 되어 OpenCV 모듈을 사용하는데 약간의 장애가 있었다.

 

Android Studio Hedgehog를 사용하는 중인데 OpenCV SDK를 사용해야 하는 분들에게 도움이 될까해 글을 작성한다.

 

- OpenCV SDK 다운로드

https://opencv.org/releases/

 

Releases

Become a Member Stay up to date on OpenCV and Computer Vision news Join our Newsletter  

opencv.org

위 경로를 통해 OpenCV SDK Android version을 다운 받는다

필자의 경우 4.9.0 버전을 다운받았다(필자가 사용하던 때 기준 최신 버전)

 

- OpenCV sdk를 Android Studio에 Import

OpenCV SDK를 Import

Android Studio에서 File > New > Import Module로 들어가 다운받은 OpenCV 폴더 아래 sdk 폴더를 Import 한다

 

OpenCV-android-sdk가 아닌 그 아래 sdk 폴더를 import

주의할 점은 성격이 급해 OpenCV-android-sdk를 선택하는 것이 아닌 그 아래 sdk 폴더를 선택해야 한다

 

 

'Module name'은 본인이 하고 싶은 이름으로 선택한다

 

그렇게 하고 나면 에러가 발생하게 되는데 hedgehog에선 gradle을 사용할때 kotlin script를 사용하지만 opencv sdk는 아직 kotlin script가 적용되어 있지 않아 에러가 발생한다.

 

아래 글에 가면 그때 수정하는 방법이 자세히 설명되어져 있으니 참고바란다

 

https://hankyo-dev.tistory.com/entry/Android-kotlin-gradle%EC%97%90%EC%84%9C-OpenCV-%EC%A0%81%EC%9A%A9%EC%8B%9C-%EC%83%9D%EA%B8%B0%EB%8A%94-%EC%9D%B4%EC%8A%88-%ED%95%B4%EA%B2%B0%EA%B8%B0

 

Android kotlin gradle에서 OpenCV 적용시 생기는 이슈 해결기

Android Project에 OpenCV Library를 적용하던 도중 아래와 같은 Error가 발생했다 Android Gradle Plugin 8.2.0 , Plugin [id: 'com.android.application', version: '8.0.2', apply: false] was not found in any of the following sources 이전에도

hankyo-dev.tistory.com

 

- OpenCV module을 사용하고자 하는 곳에 붙이기 - Project Structure UI를 이용하는 방법

 OpenCV Module Import가 다 끝나고 나면 이제 OpenCV를 사용하고자 하는 프로젝트에 붙여야 한다

필자의 경우 다른 모듈에 OpenCV를 사용하고 싶어 필자가 만든 모듈에 OpenCV 모듈을 붙였다

Project Structure

Android Studio에서 File > Project Structure에 들어간다.

 

Module Dependency

붙이고자 하는 프로젝트를 클릭후 '+' 버튼을 누르고 Module Dependency를 클릭한 후 OpenCVSDK를 붙일때 사용했던 module 이름을 선택하면 붙이고자 하는 프로젝트에 OpenCV 모듈을 붙이게 된다

 

- OpenCV module을 사용하고자 하는 곳에 붙이기 - Gradle을 이용하는 방법

 위와 같이 UI를 사용하는 방식이 있고 그게 사용하기 싫다면 gradle에 코드 한줄 추가하면 자동으로 추가되게 된다

implementation(project(";[Module Name]"))

위 이미지와 같이 붙이고자 하는 프로젝트의 build.gradle.kts에 들어가 "implementation(project(";[Module Name]"))" 를 dependencies 안에 추가하면 자동으로 추가되게 된다.

implementation(project(";[Module Name]"))