2016-07-09 5 views
0

AndroidスタジオでJavaCVを使用しようとしています。 FaceRecognizerクラスのラッパーを使用しようとしています。私はこのコードを何時間も稼働させようとしましたが、これまでは運がありませんでした。私は、ビルドエラーを取得しておいてください。JavaCV Android Studioの使用に関する問題

 Error:A problem occurred configuring project ':app'. 
    > Could not find javacpp-presets-Mac OS X-x86_64.jar 
     (org.bytedeco:javacpp-presets:1.2). 
     Searched in the following locations: 
     https://jcenter.bintray.com/org/bytedeco/javacpppresets/1.2/javacpp-presets-1.2-Mac OS X-x86_64.jar' 

私は2つのファイルにOpenCVのと分割のための.soファイルを解凍した:罰金のthatsので、armeabiおよびx86。

apply plugin: 'com.android.application' 

android { 
    compileSdkVersion 23 
    buildToolsVersion "23.0.3" 
    sourceSets.main.jni.srcDirs = [] 

    //task ndkBuild(type: Exec, description: 'Compile JNI source via NDK') { 
    // ndkDir = project.plugins.findPlugin('com.android.application').sdkHandler.getNdkFolder() 
    // //on Windows, you need to add ".cmd" after "ndk-build" below 
    // commandLine "$ndkDir/ndk-build", 
    //   'NDK_PROJECT_PATH=build/intermediates/ndk', 
    //   'NDK_LIBS_OUT=src/main/jniLibs', 
    //   'APP_BUILD_SCRIPT=src/main/jniLibs/Android.mk', 
    //   'NDK_APPLICATION_MK=src/main/jniLibs/Application.mk' 
    //} 
    //task ndkLibsToJar(type: Zip, dependsOn: 'ndkBuild', description: 'Create a JAR of the native libs') { 
    // destinationDir new File(buildDir, 'libs') 
    // baseName 'ndk-libs' 
    // extension 'jar' 
    // from(new File(buildDir, 'libs')) { include '**/*.so' } 
    // into 'lib/' 
    //} 
    //tasks.withType(JavaCompile) { 
    // compileTask -> compileTask.dependsOn ndkBuild 
    //} 
    defaultConfig { 
     applicationId "com.example.manavdutta1.affdexdemo" 
     minSdkVersion 19 
     targetSdkVersion 23 
     versionCode 1 
     versionName "1.0" 
    } 
    packagingOptions { 
     exclude 'META-INF/LICENSE.txt' 
     exclude 'META-INF/NOTICE.txt' 
     //exclude 'META-INF/maven/org.bytedeco.javacpp-presets/ffmpeg/pom.properties' 
     //exclude 'META-INF/maven/org.bytedeco.javacpp-presets/ffmpeg/pom.xml' 

     //might need these if you use openCV 
     exclude 'META-INF/maven/org.bytedeco.javacpp-presets/opencv/pom.properties' 
     exclude 'META-INF/maven/org.bytedeco.javacpp-presets/opencv/pom.xml' 
    } 
    buildTypes { 
     release { 
      minifyEnabled true 
      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' 
     } 
    } 
} 
    dependencies { 
     compile fileTree(include: ['*.jar'], dir: 'libs') 
     compile fileTree(dir: new File(buildDir, 'libs'), include: '*.jar') 
     testCompile 'junit:junit:4.12' 
     compile project(path: ':openCVLibrary2411') 
     compile files('src/main/libs/faceapi.jar') 
     compile files('src/main/libs/faceppsdk.jar') 
     //compile files('src/main/libs/artoolkitplus.jar') 
     //compile files('src/main/libs/ffmpeg.jar') 
     //compile files('src/main/libs/flandmark.jar') 
     //compile files('src/main/libs/flycapture.jar') 
     //compile files('src/main/libs/javacpp.jar') 
     //compile files('src/main/libs/javacv.jar') 
     //compile files('src/main/libs/arm/opencv-android-arm.jar') 
     //compile files('src/main/libs/x86/opencv-android-x86.jar') 
     //compile files('src/main/libs/libdc1394.jar') 
     //compile files('src/main/libs/libfreenect.jar') 
     //compile files('src/main/libs/opencv.jar') 
     //compile files('src/main/libs/videoinput.jar') 
     compile 'com.android.support:appcompat-v7:23.3.0' 
     compile 'com.affectiva.android:affdexsdk:3.0.1' 
     compile 'com.microsoft.projectoxford:face:1.0.0' 
     compile 'com.microsoft.projectoxford:emotion:1.0.0' 
     compile 'com.android.support:design:23.3.0' 
     compile 'org.bytedeco:javacv:1.2' 
     compile 'org.bytedeco.javacpp-presets:opencv:3.0.0-1.1:android-x86' 
     compile 'org.bytedeco.javacpp-presets:opencv:3.0.0-1.1:android-arm' 
     //compile group: 'org.bytedeco', name: 'javacv', version: '1.2' 

     //compile group: 'org.bytedeco.javacpp-presets', name: 'opencv', version: '2.4.10-0.10', classifier: 'android-arm' 
     //compile group: 'org.bytedeco.javacpp-presets', name: 'ffmpeg', version: '2.5.1-0.10', classifier: 'android-arm' 

    } 

イムわからないどのようにここから続行する:

は、ここに私のbuild.gradleファイルです。このコンパイルを行うためにbuild.gradleにどのような変更を加える必要がありますか?私はjavacv 1.1を使ってみましたが、実行時にエラーがあり、.soファイルはすべてjavacv 1.2から来ました。

答えて

1

私にも同様の問題がありました。明らかにGradleの依存関係解決のバグがあります。 https://github.com/bytedeco/javacv/issues/432

は、あなたのbuild.gradleスクリプトに次のコードを含めるようにしてください:

configurations { 
    all*.exclude group: 'org.bytedeco', module: 'javacpp-presets' 
} 

それは私のために動作し、うまくいけば、あなたのために尽くしますJavacppの作者はすでにここを参照してください、回避策を提供してきました。

+0

ありがとうございます。私は別の問題があります。アンドロイドセットにコードをアップロードすると、このエラーが表示されます:09-18 12:49:23.161 15771-15771/com.example.nasif.myapplication E/AndroidRuntime:致命的例外:mainProcess:com.example.nasif.myapplication、 PID:15771 java.lang.NoClassDefFoundError:java.lang.ClassNotFoundException:org.bytedeco.javacpp.opencv_core – user1850484

関連する問題