javacv有一个Android" RecordActivity.java和#34;的示例。我测试过并且与三星设备完美配合,但与华为荣誉6无关。 我使用的是javacv 1.2版和最新的二进制文件。 错误:
06-12 16:00:37.595 10778-11036/com.example.example E/dalvikvm: dlopen("/data/app-lib/com.example.example-1/libjniavutil.so") failed: dlopen failed: cannot locate symbol "av_version_info" referenced by "libjniavutil.so"...
我试过这个https://github.com/bytedeco/javacv/issues/333但仍然收到错误
我使用的是android studio 2.1.2,这是我的Gradle.Build:
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.1"
lintOptions { abortOnError false }
defaultConfig {
applicationId "com.example.example"
minSdkVersion 15
targetSdkVersion 18
versionCode 1
versionName "1.0"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
packagingOptions {
pickFirst 'META-INF/maven/org.bytedeco.javacpp-presets/opencv/pom.properties'
pickFirst 'META-INF/maven/org.bytedeco.javacpp-presets/opencv/pom.xml'
pickFirst 'META-INF/maven/org.bytedeco.javacpp-presets/ffmpeg/pom.properties'
pickFirst 'META-INF/maven/org.bytedeco.javacpp-presets/ffmpeg/pom.xml'
pickFirst 'META-INF/maven/org.bytedeco.javacpp-presets/flandmark/pom.properties'
pickFirst 'META-INF/maven/org.bytedeco.javacpp-presets/flandmark/pom.xml'
}
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.1.1'
compile files('libs/ffmpeg.jar')
compile files('libs/javacpp.jar')
compile files('libs/javacv.jar')
}
这是我的libs文件夹:
答案 0 :(得分:0)
经过几天的挣扎,我发现了这一点:
我一直在测试华为荣誉6运行android kitkat所以通过在build.gradle中将目标sdk更改为19解决了问题,但它有时会给出相同的错误而不会改变任何东西,有时没有错误工作,我意识到如果我制作一个签名的apk并安装它的工作原理。所以我认为android studio在调试模式下不能正确复制文件。
gradle.build:
dependencies {
compile fileTree(include: ['*.jar'], dir: 'libs')
compile 'com.android.support:appcompat-v7:23.1.1'
compile files('libs/ffmpeg.jar')
compile files('libs/javacpp.jar')
compile files('libs/javacv.jar')
compile files('libs/opencv.jar')
}