1.把编译好的libffmpeg.so拷贝到E:\android-ndk-r9\platforms\android-9(10,13,14等)\arch-arm\usr\lib的文件夹中(如果嫌麻烦,可以删除“platforms”文件夹中的其他文件夹,只保留一个就可以了,比如只保留“android-9”这个文件夹))
2.
System.loadLibrary("avutil");
System.loadLibrary("avcodec");
System.loadLibrary("swscale");
System.loadLibrary("avfilter");
System.loadLibrary("avformat");
System.loadLibrary("postproc");
System.loadLibrary("ffmpeg");
如果编译的ffmpeg的动态库有多个.so文件,那么在JAVA中加载时,必须按照上述顺序,否则会报错
3.问题
在Ubuntu12.04下用NDK8编译ffmpeg1.1,报出NDK里面的错误:
android-ndk-r8d/build/core/build-binary.mk:41: *** target file
`clean' has both : and :: entries. Stop.
解决办法:
因为在libavfilter目录中的Makefile的末尾处多了 Clean 这个玩意儿 将其注释掉或者删掉就可以了
本文介绍了在Android项目中使用预编译的libffmpeg.so动态库的步骤,包括将库文件放置在NDK指定目录下,并强调了加载多个.so文件时的顺序要求。同时,文章解决了在Ubuntu 12.04环境下使用NDK8编译ffmpeg 1.1时遇到的错误,指出由于Makefile中多余的目标导致的问题及其解决方案。
2686

被折叠的 条评论
为什么被折叠?



