AndriodStudio集成 FFmpeg环境,报错:java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/data/app/com.example.player-Bhalv81bWdaEyxPpDfXPvg==/base.apk"],nativeLibraryDirectories=[/data/app/com.example.player-Bhalv81bWdaEyxPpDfXPvg==/lib/arm64, /system/lib64, /product/lib64]]] couldn't find "libplayer.so"

我的CMakeList文件配置

cmake_minimum_required(VERSION 3.4.1)# 目录下所有的`.cpp`文件都需要被编译,并保存到全局变量`SOURCE`中。file(GLOB SOURCE *.cpp)# 将SOURCE变量中的源文件编译到 player动态库中add_library(        player        SHARED        ${SOURCE})find_library(        log-lib        log)#设置头文件的目录。#编译的时候需要用到的头文件,编译后头文件不会打包到目标库中。这样的话,在native-lib中可以直接引用头文件。include_directories(include)# 标志位, clang这个编译期来构建set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -L${CMAKE_SOURCE_DIR}/../../../libs/${CMAKE_ANDROID_ARCH_ABI}")# 将armeabi-v7a目录下的静态库文件,链接到动态库`player`中。# 将会去编译环境目录去找 avfilter avformat ...等静态库,所以需要配置编译环境路径target_link_libraries(        player        avfilter avformat avcodec avutil swresample swscale        ${log-lib})

app的build.gradle文件

android {    compileSdkVersion 29    buildToolsVersion "29.0.2"    defaultConfig {        applicationId "com.example.player"        minSdkVersion 21        targetSdkVersion 29        versionCode 1        versionName "1.0"        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"        externalNativeBuild {            cmake {                cppFlags ""                abiFilters "armeabi-v7a"            }        }    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'        }    }    externalNativeBuild {        cmake {            path "src/main/cpp/CMakeLists.txt"            version "3.10.2"        }    }}

修改 app 的build.gradle文件

android {    compileSdkVersion 29    buildToolsVersion "29.0.2"    defaultConfig {        applicationId "com.example.player"        minSdkVersion 21        targetSdkVersion 29        versionCode 1        versionName "1.0"        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"        externalNativeBuild {            cmake {                cppFlags ""                abiFilters "armeabi-v7a"            }        }        ndk{            abiFilters "armeabi-v7a"        }    }    buildTypes {        release {            minifyEnabled false            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'        }    }    externalNativeBuild {        cmake {            path "src/main/cpp/CMakeLists.txt"            version "3.10.2"        }    }}

更多相关文章

  1. unbuntu 下android(MT6573) 编译环境设置
  2. Android studio移动项目到另外一个文件夹,结果不能安装的解决方法
  3. Android之通过ContentProvider共享文件
  4. Android保存Log信息到本地文件
  5. 【技术直通车】ArcGIS Runtime SDK for Android 1.1 搭建开发环
  6. java和Android文件下载断点续传和图片下载代码实现,可直接复制简
  7. 列出sdcard里所有.mp3文件,并且可以点击播放
  8. Android 文件瀏覽器

随机推荐

  1. 【Android开发经验】兼容不同的屏幕大小(
  2. 在android中使用文件进行数据存储
  3. android用Intent传输自定对象数组(Parcel
  4. ActionBar使用
  5. Android圆形图片控件RoundedImageView
  6. GrideView简单使用
  7. android usb解析(一)UsbDeviceManager(and5
  8. android使用GestureDetector实现手势下滑
  9. Android(安卓)交叉编译 i2c-tools
  10. Android(安卓)如何避免(降低)后台程序被杀?