Also versuche ich JavaCV mit Android Studio zu verwenden. Ich versuche, den Wrapper für die FaceRecognizer-Klasse zu verwenden. Ich habe versucht, diesen Code für Stunden laufen zu lassen, aber bisher kein Glück. Ich erhalte einen Buildfehler:Problem mit der Verwendung von 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'
ich die .so-Dateien für opencv und in zwei Dateien entpackt: armeabi und x86, so das ist in Ordnung.
Hier ist meine build.gradle Datei:
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'
}
Ich bin nicht sicher, wie man von hier zu gehen. Welche Änderungen muss ich machen, um diese Kompilierung zu erstellen? Ich habe versucht, javacv 1.1 zu verwenden, aber ich habe einen Fehler zur Laufzeit, und die .so-Dateien stammen alle aus javacv 1.2.
danke für das. Ich habe ein anderes Problem. Wenn ich Code in den Android-Satz hochlade, wird dieser Fehler angezeigt: 09-18 12: 49: 23.161 15771-15771/com.example.nasif.myapplication E/AndroidRuntime: FATALE AUSNAHME: mainProcess: com.example.nasif.myapplication, PID: 15771 java.lang.NoClassDefFoundError: java.lang.ClassNotFoundException: org.bytedeco.javacpp.opencv_core – user1850484