Android Studio에서 OpenCV 2를 Cmake 할 때의 오류 방지

환경


  • Windows 7
  • AndroidStudio 3.0
  • OpenCV for Android 2.4.11

  • 실행(오류가 발생함)



    이하의 정보를 참고로 Cmake를 해 보았다.
    CMake에서 Android 용 OpenCV 사용
    덧붙여서 ↑안의 opencv_java3.so는 opencv_java.so로 할 필요가 있습니다.

    그 상태에서 Android Studio의 Build를 실행하면 다음 오류가 발생했습니다.
    Error:error: '../../../../src/main/jniLibs/x86_64/libopencv_java.so', needed by '../../../../build/intermediates/cmake/debug/obj/x86_64/libnative-lib.so', missing and no known rule to make it

    원인은 OpenCV for Android 2.4.11에 존재하지 않는 ABI를 빌드하려고 했기 때문입니다.

    Android Studio에서 빌드하는 ABI는 다음과 같습니다.
    armeabi, armeabi-v7a, arm64-v8a, x86, x86_64, mips, mips64

    OpenCV for Android 2.4.11에 포함된 ABI는 다음과 같습니다.
    armeabi, armeabi-v7a, x86, mips

    해결 방법



    build.gradle 안의 defaultConfig 안에 아래와 같이 abiFilters를 추가하면 OK였다.


    용어 해설



    ABI : 터미널의 각 CPU에 필요한 것. Java는 가상 머신 환경하이므로 의식할 필요는 없지만, OpenCV등의 C나 C++로 작성된 프로그램은 실 환경하에서 사용하게 되므로, 단말마다 데이터의 교환을 정의할 필요가 있다.
    htps : //에서 ゔぇぺぺr. 안 d로이 d. 코 m / n dk / 구이 s / 아비 s
    htps : //바 ck포rt. 네 t/bぉg/2017/06/23/안 d로이 d_아비/

    좋은 웹페이지 즐겨찾기