Nice programing

Gradle을 사용하여 opencv를 사용하는 방법은 무엇입니까?

nicepro 2020. 12. 2. 21:55
반응형

Gradle을 사용하여 opencv를 사용하는 방법은 무엇입니까?


Android Studio를 사용하여 Gradle 빌드 도구를 사용하여 앱을 개발하고 싶습니다. 에 OpenCV 저장소 및 라이브러리를 삽입 할 수 없습니다 build.gradle. .gradle파일은 다음과 같습니다.

buildscript {
    repositories {
        mavenCentral()

    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
}

android {
    compileSdkVersion 17
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 16
    }
}

내 프로젝트에 OpenCV를 어떻게 추가 할 수 있습니까?


Android Studio에서 매우 쉽게 할 수 있습니다.

프로젝트에 Open CV를 라이브러리로 추가하려면 아래 단계를 따르십시오.

  1. libraries프로젝트 기본 디렉터리 아래 폴더를 만듭니다 . 예를 들어 프로젝트가 인 경우 폴더를 OpenCVExamples생성 OpenCVExamples/libraries합니다.

  2. SDK "\ OpenCV-2.4.8-android-sdk \ sdk"가있는 위치로 이동하여 java폴더 를 찾고 이름을 opencv.

  3. 이제 SDK의 전체 opencv 디렉토리를 방금 만든 라이브러리 폴더에 복사합니다.

  4. 이제 다음 내용으로 디렉토리에 build.gradle파일을 만듭니다.opencv

    apply plugin: 'android-library'
    
    buildscript {
        repositories {
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:0.9.+'
        }
    }
    
    android {
        compileSdkVersion 19
        buildToolsVersion "19.0.1"
    
        defaultConfig {
            minSdkVersion 8
            targetSdkVersion 19
            versionCode 2480
            versionName "2.4.8"
        }
    
        sourceSets {
            main {
                manifest.srcFile 'AndroidManifest.xml'
                java.srcDirs = ['src']
                resources.srcDirs = ['src']
                res.srcDirs = ['res']
                aidl.srcDirs = ['src']
            }
        }
    }
    
  5. 애플리케이션의 기본 디렉토리에서 settings.gradle 파일을 편집하고 다음 행을 추가하십시오.

    include ':libraries:opencv'
    
  6. 프로젝트를 Gradle과 동기화하면 다음과 같이 표시됩니다.

    화면 1

  7. 프로젝트를 마우스 오른쪽 버튼으로 클릭 한 다음 Open Module Settings왼쪽 목록에서 모듈 선택을 클릭하고 애플리케이션 모듈을 클릭 한 다음 종속성 탭을 클릭하고 + 버튼을 클릭하여 새 모듈 종속성을 추가합니다.

    여기에 이미지 설명 입력

  8. 를 선택하십시오 Module dependency. 선택할 모듈 목록이있는 대화 상자가 열립니다. “: libraries : opencv”를 선택합니다.

    여기에 이미지 설명 입력

  9. 크리에이트 jniLibs에서 폴더 /app/src/main/위치를하고있는 * .so를 파일 (armeabi, armeabi-V7A, MIPS, 86)와 함께 모든 폴더를 복사 jniLibsOpenCV의 SDK에서.

    여기에 이미지 설명 입력

  10. 확인을 클릭하십시오. 이제 모든 것이 완료되고 OpenCV로 가서 즐기십시오.


OpenCV 문서 ( 1 )에 따라 OpenCV 관리자를 사용하는 아래 단계 프로덕션 실행 을 위해 OpenCV를 사용하는 권장 방법 입니다. 단, OpenCV 관리자 ( 2 )는 Google Play 스토어에서 추가로 설치 한 것입니다. 따라서 자체 포함 APK (OpenCV 관리자를 사용하지 않음)를 선호하거나 현재 개발 / 테스트 단계에있는 경우 https://stackoverflow.com/a/27421494/1180117 에서 답변을 제안 합니다.

OpenCV 관리자와 함께 Android Studio에서 OpenCV를 사용하기위한 권장 단계입니다.

  1. OpenCV.org에서 다운로드 한 OpenCV Android SDK의 압축을 풉니 다 ( 3 )
  2. 에서 압축이 풀린 opencv 아카이브의 폴더를 File -> Import Module선택 sdk/java합니다.
  3. 업데이트 build.gradle수입 OpenCV의 모듈에서 프로젝트의 일치 4 개 필드를 업데이트하는 build.gradleA) compileSdkVersion 나) buildToolsVersion의 C)의 minSdkVersion 4) targetSdkVersion을합니다.
  4. 으로 모듈 종속성을 추가 Application -> Module Settings하고 Dependencies탭을 선택 하십시오. +하단 (또는 오른쪽) 아이콘을 클릭 Module Dependency하고 가져온 OpenCV 모듈을 선택 하고 선택합니다.

마지막 단계로 Activity 클래스에서 아래 스 니펫을 추가하십시오.

    public class SampleJava extends Activity  {

        private BaseLoaderCallback mLoaderCallback = new BaseLoaderCallback(this) {
        @Override
        public void onManagerConnected(int status) {
            switch(status) {
                case LoaderCallbackInterface.SUCCESS:
                    Log.i(TAG,"OpenCV Manager Connected");
                    //from now onwards, you can use OpenCV API
                    Mat m = new Mat(5, 10, CvType.CV_8UC1, new Scalar(0));
                    break;
                case LoaderCallbackInterface.INIT_FAILED:
                    Log.i(TAG,"Init Failed");
                    break;
                case LoaderCallbackInterface.INSTALL_CANCELED:
                    Log.i(TAG,"Install Cancelled");
                    break;
                case LoaderCallbackInterface.INCOMPATIBLE_MANAGER_VERSION:
                    Log.i(TAG,"Incompatible Version");
                    break;
                case LoaderCallbackInterface.MARKET_ERROR:
                    Log.i(TAG,"Market Error");
                    break;
                default:
                    Log.i(TAG,"OpenCV Manager Install");
                    super.onManagerConnected(status);
                    break;
            }
        }
    };

    @Override
    protected void onResume() {
        super.onResume();
        //initialize OpenCV manager
        OpenCVLoader.initAsync(OpenCVLoader.OPENCV_VERSION_2_4_9, this, mLoaderCallback);
    }
}

참고 : method에서 성공 콜백을받은 후에 만 ​​OpenCV 호출을 할 수onManagerConnected 있습니다. 실행 중 아직 설치되지 않은 경우 Play 스토어에서 OpenCV 관리자를 설치하라는 메시지가 표시됩니다. 개발 중에 Play 스토어에 액세스 할 수 없거나 emualtor에있는 경우 apk다운로드 한 OpenCV sdk 아카이브 아래의 폴더에 있는 적절한 OpenCV 관리자 apk를 사용 합니다.

장점

  • 약 40MB의 APK 크기 감소 (업그레이드도 고려).
  • OpenCV 관리자는 하드웨어에 최적화 된 바이너리를 설치하여 속도를 높일 수 있습니다.
  • OpenCV 관리자로 업그레이드하면 OpenCV의 버그로부터 앱을 저장할 수 있습니다.
  • 다른 앱은 동일한 OpenCV 라이브러리를 공유 할 수 있습니다.

단점

  • 최종 사용자 경험-애플리케이션의 설치 프롬프트가 마음에 들지 않을 수 있습니다.

OpenCV의 통합은 이러한 노력이기 때문에 사전 패키징하고 여기에 JCenter를 통해 게시했습니다. https://github.com/quickbirdstudios/opencv-android

모듈의 build.gradle 종속성 섹션에 이것을 포함하십시오.

dependencies {
  implementation 'com.quickbirdstudios:opencv:3.4.1'
}

프로젝트의 build.gradle 저장소 섹션에 있습니다.

repositories {
  jcenter()
}

gradle 가져 오기 후 lint 오류가 발생하지 않지만 MainActivity에서 이와 같이 OpenCV 라이브러리를 초기화하는 것을 잊지 마십시오.

public class MainActivity extends Activity {
    static {
        if (!OpenCVLoader.initDebug())
            Log.d("ERROR", "Unable to load OpenCV");
        else
            Log.d("SUCCESS", "OpenCV loaded");
    }
...
...
...
...

JavaCV를 사용하고 싶지 않다면 이것은 나를 위해 작동합니다 ...

1 단계-리소스 다운로드

http://opencv.org/downloads.html 에서 OpenCV Android SDK를 다운로드합니다.

2 단계-OpenCV 바이너리를 APK에 복사

libopencv_info.so 및 libopencv_java.so를 다음에서 복사하십시오.

OpenCV-2.?.?-android-sdk -> sdk -> native -> libs -> armeabi-v7a

...에

Project Root -> Your Project -> lib - > armeabi-v7a

lib 폴더를 압축하고 해당 zip의 이름을 whatever-v7a.jar로 바꿉니다.

이 .jar 파일을 복사하여 프로젝트의 여기에 배치하십시오.

Project Root -> Your Project -> libs

종속성 섹션의 프로젝트 build.gradle에이 줄을 추가하세요.

compile files('libs/whatever-v7a.jar')

지금 컴파일하면 .apk가 약 4MB 더 큰 것을 볼 수 있습니다.

(ARMv6도 지원하려면 "armeabi"를 반복하십시오. 더 이상 필요하지 않을 수 있습니다.)

3 단계-프로젝트에 Java SDK 추가

여기에서 Java 폴더를 복사하십시오.

OpenCV-2.?.?-android-sdk -> sdk

...에

Project Root -> Your Project -> libs (.jar 파일과 같은 위치)

( 'java'폴더 이름을 'OpenCV'로 바꿀 수 있습니다.)

이 새로 복사 된 폴더에 일반적인 build.gradle 파일을 추가합니다. 나는 이것을 사용했다 :

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.6.+'
    }
}

apply plugin: 'android-library'

repositories {
    mavenCentral();
}

android {
    compileSdkVersion 19
    buildToolsVersion "19"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 19
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            aidl.srcDirs = ['src']
            renderscript.srcDirs = ['src']
            res.srcDirs = ['res']
            assets.srcDirs = ['assets']
        }
    }
}

프로젝트 루트 settings.gradle 파일에서 다음과 같이 변경하십시오.

include ':Project Name:libs:OpenCV', ':Project Name'

종속성 섹션의 프로젝트 루트-> 프로젝트 이름-> build.gradle 파일에서 다음 행을 추가하십시오.

compile project(':Project Name:libs:OpenCV')

4 단계-프로젝트에서 OpenCV 사용

다시 빌드하면 프로젝트에서 OpenCV를 가져 와서 사용할 수 있습니다.

import org.opencv.android.OpenCVLoader;
...
if (!OpenCVLoader.initDebug()) {}

나는 약간의 해킹이라면 이것을 알고 있지만 어쨌든 게시 할 것이라고 생각했습니다.


buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.5.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
    maven {
        url 'http://maven2.javacv.googlecode.com/git/'
    }
}

dependencies {
    compile 'com.android.support:support-v4:13.0.+'
    compile 'com.googlecode.javacv:javacv:0.5'
    instrumentTestCompile 'junit:junit:4.4'
}

android {
    compileSdkVersion 14
    buildToolsVersion "17.0.0"

    defaultConfig {
        minSdkVersion 7
        targetSdkVersion 14
    }
}

이것은 나를 위해 일했습니다 :)


Android Studio 및 Gradle을 사용하여 포함 된 OpenCV로 Android NDK 애플리케이션을 빌드하는 방법에 대한 새 게시물을 게시했습니다. 자세한 내용은 여기 에서 볼 수 있으며 두 가지 방법을 요약했습니다.

(1) ndk-buildGradle 작업 내에서 실행

sourceSets.main.jni.srcDirs = []

task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') {
    ndkDir = project.plugins.findPlugin('com.android.application').getNdkFolder()
    commandLine "$ndkDir/ndk-build",
            'NDK_PROJECT_PATH=build/intermediates/ndk',
            'NDK_LIBS_OUT=src/main/jniLibs',
            'APP_BUILD_SCRIPT=src/main/jni/Android.mk',
            'NDK_APPLICATION_MK=src/main/jni/Application.mk'
}

tasks.withType(JavaCompile) {
    compileTask -> compileTask.dependsOn ndkBuild
}

(2) ndk-build외부 도구로 실행

매개 변수 : NDK_PROJECT_PATH=$ModuleFileDir$/build/intermediates/ndk NDK_LIBS_OUT=$ModuleFileDir$/src/main/jniLibs NDK_APPLICATION_MK=$ModuleFileDir$/src/main/jni/Application.mk APP_BUILD_SCRIPT=$ModuleFileDir$/src/main/jni/Android.mk V=1

자세한 정보는 여기에서 볼 수 있습니다.


Android Studio 1.2 + OpenCV-2.4.11-android-sdk (.zip)에서도 작동합니다.

다음을 수행하십시오.

1) "Android Studio에서이 작업을 매우 쉽게 수행 할 수 있습니다. 아래 단계에 따라 프로젝트에서 OpenCV를 라이브러리로 추가하십시오."로 시작하는 대답을 따르십시오. TGMCians에 의해.

2) <yourAppDir>\libraries\opencv새로 만든 폴더 에서 수정 하십시오 build.gradle(TGMCians의 답변의 4 단계, OpenCV2.4.11-android-sdk에 적용되고 gradle 1.1.0 사용 ).

apply plugin: 'android-library'

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.1.0'
    }
}

android {
    compileSdkVersion 21
    buildToolsVersion "21.1.2"

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 21
        versionCode 2411
        versionName "2.4.11"
    }

    sourceSets {
        main {
            manifest.srcFile 'AndroidManifest.xml'
            java.srcDirs = ['src']
            resources.srcDirs = ['src']
            res.srcDirs = ['res']
            aidl.srcDirs = ['src']
        }
    }
}

3) 디렉토리에있는 * .so 파일은 "armeabi", "armeabi-v7a", "mips", "x86"(기본 OpenCV-location)에서 찾을 수 있습니다 : ..\OpenCV-2.4.11-android-sdk\OpenCV-android-sdk\sdk\native\libs(TGMCians의 답변 9 단계).

즐기시고 이것이 도움이 되었다면 긍정적 인 평판을주십시오. 답변에 직접 답하려면 50 개가 필요합니다 (19 개 남음) :)


다음은 Android Studio 1.2에서 OpenCV를 사용하는 데 필요한 단계입니다.

  • OpenCV를 다운로드 하고 아카이브를 추출하십시오.
  • Android Studio에서 앱 프로젝트 열기
  • 파일-> 새로 만들기-> 모듈 가져 오기 ...로 이동합니다 .
  • sdk/java이전에 추출한 디렉토리에서 선택하십시오 .
  • 모듈 이름 을 다음으로 설정opencv
  • 다음누르고 마침
  • 수입 OpenCV의 모듈 및 업데이트에서 열기 build.gradle compileSdkVersion하고 buildToolsVersion당신이 당신의 컴퓨터에있는 버전
  • compile project(':opencv')앱 build.gradle에 추가

    dependencies {
        ...
        compile project(':opencv')
    }
    
  • Gradle 파일과 프로젝트 동기화 누르기


OpenCV SDK에서 Android Studio gradle 프로젝트로 Java 프로젝트를 가져와 https://github.com/ctodobom/OpenCV-3.1.0-Android 에서 사용할 수 있도록했습니다.

build.gradlejitpack.io 서비스 덕분 파일에 두 줄만 추가하여 프로젝트에 포함 할 수 있습니다 .


OpenCV Android SDK에는 유용한 주석이 포함 된 gradle.build 파일 예제가 있습니다. https://github.com/opencv/opencv/blob/master/modules/java/android_sdk/build.gradle.in

//
// Notes about integration OpenCV into existed Android Studio application project are below (application 'app' module should exist).
//
// This file is located in <OpenCV-android-sdk>/sdk directory (near 'etc', 'java', 'native' subdirectories)
//
// Add module into Android Studio application project:
//
// - Android Studio way:
//   (will copy almost all OpenCV Android SDK into your project, ~200Mb)
//
//   Import module: Menu -> "File" -> "New" -> "Module" -> "Import Gradle project":
//   Source directory: select this "sdk" directory
//   Module name: ":opencv"
//
// - or attach library module from OpenCV Android SDK
//   (without copying into application project directory, allow to share the same module between projects)
//
//   Edit "settings.gradle" and add these lines:
//
//   def opencvsdk='<path_to_opencv_android_sdk_rootdir>'
//   // You can put declaration above into gradle.properties file instead (including file in HOME directory),
//   // but without 'def' and apostrophe symbols ('): opencvsdk=<path_to_opencv_android_sdk_rootdir>
//   include ':opencv'
//   project(':opencv').projectDir = new File(opencvsdk + '/sdk')
//
//
//
// Add dependency into application module:
//
// - Android Studio way:
//   "Open Module Settings" (F4) -> "Dependencies" tab
//
// - or add "project(':opencv')" dependency into app/build.gradle:
//
//   dependencies {
//       implementation fileTree(dir: 'libs', include: ['*.jar'])
//       ...
//       implementation project(':opencv')
//   }
//
//
//
// Load OpenCV native library before using:
//
// - avoid using of "OpenCVLoader.initAsync()" approach - it is deprecated
//   It may load library with different version (from OpenCV Android Manager, which is installed separatelly on device)
//
// - use "System.loadLibrary("opencv_java3")" or "OpenCVLoader.initDebug()"
//   TODO: Add accurate API to load OpenCV native library
//
//
//
// Native C++ support (necessary to use OpenCV in native code of application only):
//
// - Use find_package() in app/CMakeLists.txt:
//
//   find_package(OpenCV 3.4 REQUIRED java)
//   ...
//   target_link_libraries(native-lib ${OpenCV_LIBRARIES})
//
// - Add "OpenCV_DIR" and enable C++ exceptions/RTTI support via app/build.gradle
//   Documentation about CMake options: https://developer.android.com/ndk/guides/cmake.html
//
//   defaultConfig {
//       ...
//       externalNativeBuild {
//           cmake {
//               cppFlags "-std=c++11 -frtti -fexceptions"
//               arguments "-DOpenCV_DIR=" + opencvsdk + "/sdk/native/jni" // , "-DANDROID_ARM_NEON=TRUE"
//           }
//       }
//   }
//
// - (optional) Limit/filter ABIs to build ('android' scope of 'app/build.gradle'):
//   Useful information: https://developer.android.com/studio/build/gradle-tips.html (Configure separate APKs per ABI)
//
//   splits {
//       abi {
//           enable true
//           reset()
//           include 'armeabi-v7a' // , 'x86', 'x86_64', 'arm64-v8a'
//           universalApk false
//       }
//   }
//

apply plugin: 'com.android.library'

println "OpenCV: " + project.buildscript.sourceFile

android {
    compileSdkVersion 27
    //buildToolsVersion "27.0.3" // not needed since com.android.tools.build:gradle:3.0.0

    defaultConfig {
        minSdkVersion 14
        targetSdkVersion 21
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_6
        targetCompatibility JavaVersion.VERSION_1_6
    }

    sourceSets {
        main {
            jniLibs.srcDirs = ['native/libs']
            java.srcDirs = ['java/src']
            aidl.srcDirs = ['java/src']
            res.srcDirs = ['java/res']
            manifest.srcFile 'java/AndroidManifest.xml'
        }
    }
}

dependencies {
}

AndroidManifest.xml 파일에는 다음과 같은 권한 및 기능이 필요합니다. 그렇지 않으면 다음 대화 상자가 표시됩니다.

"장치가 카메라를 지원하지 않거나 잠겨있는 것 같습니다. 응용 프로그램이 종료됩니다."

  <uses-permission android:name="android.permission.CAMERA"/>

    <uses-feature android:name="android.hardware.camera" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.autofocus" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.front" android:required="false"/>
    <uses-feature android:name="android.hardware.camera.front.autofocus" android:required="false"/>

OpenCV, Android Studio 1.4.1, gradle-experimental 플러그인 0.2.1

다른 답변은 나를 도왔습니다. 여기에 저에게 효과적이었습니다. opencv의 tutorial-1 샘플을 사용하고 있지만 프로젝트에서 NDK를 사용할 것이므로 gradle 플러그인과 다른 구조를 가진 gradle-experimental 플러그인을 사용하고 있습니다.

Android 스튜디오를 설치하고 Android NDK를 Android SDK Manager를 통해 설치해야하며 OpenCV Android SDK 를 다운로드하여 압축을 풀어야합니다.

이것은 간결하지만 완전하게 유지하기 위해 bash 스크립트 덩어리입니다. 내가 가진 큰 문제로 인해 IDE가 발전함에 따라 IDE 내 명령이 쓸모 없었다는 것이 모두 명령 줄에 있습니다.

먼저 OpenCV SDK의 루트 디렉토리 위치를 설정하십시오.

export OPENCV_SDK=/home/user/wip/OpenCV-2.4.11-android-sdk
cd $OPENCV_SDK

gradle 빌드 파일 만들기 ...

먼저 OpenCV 라이브러리

cat > $OPENCV_SDK/sdk/java/build.gradle <<'==='


apply plugin: 'com.android.model.library'
model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.2"

        defaultConfig.with {
            minSdkVersion.apiLevel = 8
            targetSdkVersion.apiLevel = 23
        }
    }

    android.buildTypes {
        release {
            minifyEnabled = false
        }
        debug{
            minifyEnabled = false
        }
    }
   android.sources {
       main.manifest.source.srcDirs +=  "."
       main.res.source.srcDirs +=  "res"
       main.aidl.source.srcDirs +=  "src"
       main.java.source.srcDirs +=  "src"
   }

}


===

그런 다음 자습서 샘플에 라이브러리에 레이블을 지정할 항목과 찾을 위치를 알려줍니다.

cat > $OPENCV_SDK/samples/tutorial-1-camerapreview/settings.gradle <<'==='


include ':openCVLibrary2411'
project(':openCVLibrary2411').projectDir = new File('../../sdk/java')


===

자습서 용 빌드 파일을 만듭니다.

cat > $OPENCV_SDK/samples/tutorial-1-camerapreview/build.gradle <<'==='


buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle-experimental:0.2.1'
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

apply plugin: 'com.android.model.application'

model {
    android {
        compileSdkVersion = 23
        buildToolsVersion = "23.0.2"

        defaultConfig.with {
            applicationId = "org.opencv.samples.tutorial1"
            minSdkVersion.apiLevel = 8
            targetSdkVersion.apiLevel = 23
        }
    }

    android.sources {
       main.manifest.source.srcDirs +=  "."
       main.res.source.srcDirs +=  "res"
       main.aidl.source.srcDirs +=  "src"
       main.java.source.srcDirs +=  "src"
    } 

    android.buildTypes {
        release {
            minifyEnabled = false
            proguardFiles += file('proguard-rules.pro')
        }
        debug {
             minifyEnabled = false
        }
    }
}

dependencies {
    compile project(':openCVLibrary2411')
}


===

빌드 도구 버전을 올바르게 설정해야합니다. 설치 한 항목을 쉽게 확인할 수있는 방법이 있습니다. (Android SDK Manager를 통해 다른 버전을 설치할 수 있습니다.) 23.0.2가없는 경우 buildToolsVersion을 변경하십시오.

echo "Your buildToolsVersion is one of: "
ls $ANDROID_HOME/build-tools

첫 번째 줄의 환경 변수를 버전 번호로 변경하십시오.

REP=23.0.2 #CHANGE ME
sed -i.bak s/23\.0\.2/${REP}/g $OPENCV_SDK/sdk/java/build.gradle
sed -i.bak s/23\.0\.2/${REP}/g $OPENCV_SDK/samples/tutorial-1-camerapreview/build.gradle

마지막으로 올바른 gradle 래퍼를 설정합니다. Gradle은이를 위해 깨끗한 디렉토리가 필요합니다.

pushd $(mktemp -d)

gradle wrapper --gradle-version 2.5

mv -f gradle* $OPENCV_SDK/samples/tutorial-1-camerapreview
popd

이제 모든 설정이 완료되었습니다. 이제 Android Studio에서이 디렉토리를 탐색하고 프로젝트를 열 수 있습니다.

다음 명령을 사용하여 명령 줄에서 자습서를 작성하십시오.

./gradlew assembleDebug

APK를 빌드하여 ./build/outputs/apk에 넣어야합니다.

참고 URL : https://stackoverflow.com/questions/17767557/how-to-use-opencv-in-using-gradle

반응형