2016-06-12 8 views
0

javacv는 내가 테스트 한 안드로이드 "RecordActivity.java"샘플을 가지고 있으며 삼성 장치와 완벽하게 작동하지만 Huawei honor 6에서는 작동하지 않습니다. javacv 버전 1.2 및 최신 바이너리를 사용하고 있습니다. 오류 : 여기 dlopen failed : "libjniavutil.so"에 의해 참조 된 기호 "av_version_info"를 찾을 수 없습니다

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와 폴더입니다 :

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"... 

는 내가 안드로이드 스튜디오 2.1.2를 사용하고 여기에 내 Gradle.Build이다있어이 https://github.com/bytedeco/javacv/issues/333하지만 여전히 점점 오류

시도 :

enter image description here

답변

0

af 며칠 동안 고심을 여기에 내가 알아 냈어 :

나는 화웨이 명예 6 실행중인 안드로이드 kitkat 그래서 build.gradle에서 19 대상 SGD를 변경하여 문제를 해결했지만 그것은 가끔은 아무것도 변경하지 않고 동일한 오류를 제공합니다 때로는 오류없이 작동하며 서명 된 apk를 작성하여 설치하면 작동합니다. 그래서 안드로이드 스튜디오 디버그 모드에서 제대로 파일을 복사하지 않습니다 생각합니다.

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') 

}