TAG:
编译过程参考在 Mac OS X 下使用 Android NDK r5b 编译 FFmpeg 0.8 1.下载NDK r6和FFmpeg 0.8.12.解压缩
3.编写FFmpeg配置脚本在目录/home/pekall/Projects_private/FFmpegPlayer/lib/jni下新建脚本文件config.sh,并加上可执行权限。 ./configure \
--disable-static \
--enable-shared \ --enable-gpl \ --enable-version3 \ --enable-nonfree \ --disable-doc \ --disable-ffmpeg \ --disable-ffplay \ --disable-ffprobe \ --disable-ffserver \ --disable-avdevice \ --disable-avfilter \ --disable-postproc \ --enable-small \ --cross-prefix=/home/pekall/opt/android-ndk-r6/toolchains/arm-linux-androideabi-4.4.3 /prebuilt/linux-x86/bin/arm-linux-androideabi- \ --enable-cross-compile \ --target-os=linux \
--extra-cflags='-I/home/pekall/opt/android-ndk-r6/platforms /android-9/arch-arm/usr/include' \
--extra-ldflags='-L/home/pekall/opt/android-ndk-r6/platforms /android-9/arch-arm/usr/lib -nostdlib' \
--arch=arm \ --disable-symver \ --disable-debug \ --disable-stripping \
sed -i 's/HAVE_LRINT 0/HAVE_LRINT 1/g' config.h
sed -i 's/HAVE_LRINTF 0/HAVE_LRINTF 1/g' config.h
sed -i 's/HAVE_ROUND 0/HAVE_ROUND 1/g' config.h
sed -i 's/HAVE_ROUNDF 0/HAVE_ROUNDF 1/g' config.h
sed -i 's/HAVE_TRUNC 0/HAVE_TRUNC 1/g' config.h
sed -i 's/HAVE_TRUNCF 0/HAVE_TRUNCF 1/g' config.h
以下几个属性需要根据ndk安装的位置做相应的修改
4.编写Android.mk文件可以通过这个链接获得,内容和参考的文件完全相同 5.生成FFmpeg配置文件打开终端,在/home/pekall/Projects_private/FFmpegPlayer/lib/jni目录下执行config.sh 6.编译FFmpeg打开终端,在/home/pekall/Projects_private/FFmpegPlayer/lib目录下执行ndk-build,编译完成之后会在/home/pekall/Projects_private/FFmpegPlayer/lib/libs/armeabi目录下生成大约5.4M的文件libffmpeg.so (shaobin060) |