我曾试图实现Android-FFmpeg-Images-Video android studio项目示例 参考link。
当我尝试运行Android应用程序时,它会在这里给出错误
java.lang.UnsatisfiedLinkError:com.android.tools.fd.runtime。 IncrementalClassLoader $ DelegateClassLoader nativeLibraryDirectories = [/ data / data / com.catcry.ffmpeg / lib,/ vendor / lib,/ system / lib]]]找不到“libffmpeg-jni.so”
static {
System.loadLibrary("ffmpeg");
System.loadLibrary("ffmpeg-jni");
}
这是我的build.gradle
apply plugin: 'com.android.application'
android {
compileSdkVersion 23
buildToolsVersion "23.0.0"
defaultConfig {
applicationId "com.example.ffmpeg"
minSdkVersion 14
targetSdkVersion 23
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
}
}
sourceSets {
main {
res.srcDirs = ['src/main/res']
jniLibs.srcDirs = ['src/main/jniLibs']
jni.srcDirs = [] // This prevents the auto generation of Android.mk
}
}
}
dependencies {
compile 'com.android.support:support-v4:23.0.0'
compile project(':ffmpeg4android_os')
compile 'com.android.support:multidex:1.0.1'
}
这是我的目录结构
答案 0 :(得分:9)
只需关闭设置/偏好设置中的即时游戏 - >构建,执行,部署 - >即时运行 并取消选中前两个复选框。此错误是由于即时运行功能。
答案 1 :(得分:0)
UnsatisfiedLinkError是由于您的android项目中缺少libffmpeg-jni.so文件。请尝试正确的图书馆。
答案 2 :(得分:0)
您的代码
sourceSets {
main {
res.srcDirs = ['src/main/res']
jni.srcDirs = [] // This prevents the auto generation of Android.mk
}
}
与您的文件夹结构不对应。 把' jniLibs'在&s; src / main'文件夹中。
您可以查看此SO帖子了解文件夹结构。 jniLibs are not extended in gradle
答案 3 :(得分:0)
我有同样的问题。我通过创建文件夹结构解决了它,如下图所示。
将.so
个文件复制到armeabi-v7a
。
https://graph.windows.net/"YourTenantId"/$metadata#directoryObjects/Microsoft.DirectoryServices.User
这是android视图>