直接上圖:
這個就是NDK所在目錄;
個人所用的NDK的版本: android-ndk-r8e;
這個是ffmpeg所在目錄;
在該目錄下創建configure.sh文件,內容如下:
#!/bin/bash
export TMPDIR="G:/temp/android"
export LLLIB="C:/MinGW/msys/1.0/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/lib/gcc/arm-linux-androideabi/4.4.3"
export LLSCRIPT="C:/MinGW/msys/1.0/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows/arm-linux-androideabi/lib/ldscripts"
export NNLIBS="C:/MinGW/msys/1.0/ndk/platforms/android-8/arch-arm"
export NNINC="C:/MinGW/msys/1.0/ndk/platforms/android-8/arch-arm/usr/include"
PREBUILT=/usr/ndk/toolchains/arm-linux-androideabi-4.4.3/prebuilt/windows
PLATFORM=/usr/ndk/platforms/android-8/arch-arm
./configure --target-os=linux \
--arch=arm \
--disable-debug \
--disable-ffmpeg \
--disable-ffplay \
--disable-ffserver \
--disable-ffprobe \
--disable-encoders \
--disable-muxers \
--disable-demuxers \
--disable-parsers \
--disable-devices \
--disable-protocols \
--disable-filters \
--disable-decoders \
--enable-decoder=h264 \
--disable-avfilter \
--disable-network \
--disable-avdevice \
--disable-avformat \
--disable-swresample \
--disable-swscale \
--disable-avresample \
--disable-bsfs \
--disable-bzlib \
--disable-iconv \
--disable-zlib \
--disable-error-resilience \
--disable-doc \
--enable-cross-compile \
--cc=$PREBUILT/bin/arm-linux-androideabi-gcc \
--cross-prefix=$PREBUILT/bin/arm-linux-androideabi- \
--nm=$PREBUILT/bin/arm-linux-androideabi-nm \
--extra-cflags="-I$NNINC -fPIC -DANDROID" \
--enable-neon \
--enable-armv5te \
--extra-ldflags="-Wl,-T,$LLSCRIPT/armelf_linux_eabi.x -Wl,-rpath-link=$NNLIBS/usr/lib -L$NNLIBS/usr/lib -nostdlib $LLLIB/crtbegin.o $LLLIB/crtend.o -lc -lm -ldl"
文件結構截圖:
個人使用的時候限制只解碼h264數據,禁用了其他的協議、模塊等等,根據自己需要去更改;
至於configure.sh文件裏面的路徑,自己去設置了;
configure.sh文件寫的比較挫,沒辦法,實在是不精通這玩意兒,能過就好;
然後在minggw命令行裏面運行如下:
然後make即可;
生成了兩個.a文件:
至於.a文件的大小可能不同,個人的是裁剪過的,至於如何裁剪那就是根據個人需要了;
現在只是編譯通過,至於能不能跑起來明天的事了,今天手機始終無法連接上,悲劇!@!!!!!