我的Android studio 编译ffmpeg之路

  最近在学习使用android studio 的CMake 插件  进行编译ffmpeg   由于是自己单独摸索 出现了一系列的坑  特此记录一下 。


1.CMakeLists 脚本配置的学习阶段  没出啥问题   慢慢的就配置好了  but。。。  由于so库版本不全  gradle 中没有配置好格式  导致 打包失败(我只有arm版本的so库 需要在gradle 中配置abiFilter )

2.成功配置好CMakeLists  安全度过 编译期  打包一个apk 安装到手机    然后崩溃    报错   找不到so 库。。。     原因  Android studio 的so库路径 只认src 目录下的jniLibs  目录  不在这里 加入so库  编译打包apk后找不到so库资源。。。囧

3.编写cpp代码    由于ffmpeg工程是一个c项目 所以ffmpeg代码的引用(头文件)需要写道extren'C"{    }  里面   不在里面  报错。。。。

4.在使用ANativeWindow相关系列方法的时候在打包时 也 报错 找不到方法     原因:android 原声的so 库 也需要在CMakeLists 文件中配置  在关联的时候增加一个android 即可 :

例:(yuv 是 android 的 libyuv.so)

target_link_libraries( native-lib avcodec-57 avfilter-6 avformat-57 avutil-55 swresample-2 swscale-4 avdevice-57  yuv

                       ${log-lib}  android)




以上就是我在Android  studio 中编译ffmpeg时遇到的所有坑。。现在感觉 都挺简单的。 心塞  希望其他人不要重蹈我的覆辙 

你可能感兴趣的:(android,错误)