总体流程
要求:linux环境,ndk编译工具,ffmpeg库,android中的cmake工程
1,在linux环境中编译ffmpeg,配置好build.sh文件(具体的网上百度,很多)
2,可以通过xshell工具将编译好的文件导出到window中
![](https://img.haomeiwen.com/i3915061/7201c74a0fe46ed6.png)
3,创建CMake工程
导入相应的文件
![](https://img.haomeiwen.com/i3915061/10b66849166b703f.png)
4,配置build.gradle文件
![](https://img.haomeiwen.com/i3915061/be51509245701890.png)
5,编译工程
在CMakeLists文件中指定头文件,并且设置第三方库的路径,link到nativi-lib
![](https://img.haomeiwen.com/i3915061/382be53579f0ad64.png)
![](https://img.haomeiwen.com/i3915061/9962bd1e2c1fb374.png)
6,在java文件中引入lib,并且添加native方法
导入ffmpeg的lib,同时导入自己的nativi-lib库文件,添加一个native方法
![](https://img.haomeiwen.com/i3915061/69916eeb3221e2a0.png)
7,在nativi-lib.cpp文件中导入ffmpeg的头文件,并且编写java文件中的方法,在方法中打印信息
![](https://img.haomeiwen.com/i3915061/05f45c67527d9d10.png)
8,成功的在logcat中查看到打印的日志了
完美结束
注意事项
头文件的地址不要写错了
设置第三方库路径时候 -L 一定不要忽略
使用的ninja语法进行编译
Android5.0(21)的版本之后才支持ninja语法的
网友评论