上一篇《FFmpeg 1.2 for Android 編譯動態庫》跟大家介紹了如何編譯動態庫,但當時所產生的動態庫總共包含10個so檔案,這樣要是載入起來會嚴重影響軟體的啟動速度,後面有很多熱心的童鞋說需要產生單個動態庫(僅產生 libffmpeg.so),由於前一段時間工作比較忙,沒時間去弄,在此向各位說聲抱歉。
其實產生單個動態庫版本比產生多個動態庫的版本還要簡單,就只要一個 config.sh 就可以搞定,不敢有保留,現在分享給大家。具體該啟用和禁用哪些自己再另行修改。
到 ffmpeg 目錄正面:tar xvf ffmpeg-1.2.1.tar.gz -C ./ffmpeg
=$NDK_HOME/toolchains/arm-linux-androideabi-4.4.3/prebuilt/linux-=$NDK_HOME/platforms/android-8/arch-/configure --target-os=--arch=--enable---enable---enable---disable---disable---disable---disable---disable---disable---enable---enable---enable---disable---disable---enable-protocol=--enable---enable---enable---disable---enable-cross---enable-runtime---sysroot=--disable---disable---enable---enable-demuxer=--enable-muxer=--enable-protocol=--enable---enable---prefix=$PLATFORM/--cc=$PREBUILT/bin/arm-linux-androideabi---cross-prefix=$PREBUILT/bin/arm-linux-androideabi---nm=$PREBUILT/bin/arm-linux-androideabi---extra-cflags=--extra-ldflags=--rf ../libs && mkdir ../libs && mkdir ../libs//bin/arm-linux-androideabi-ar d libavcodec//bin/arm-linux-androideabi-ld -rpath-link=$PLATFORM/usr/lib -L$PLATFORM/usr/lib -soname libffmpeg.so -shared -nostdlib -z,noexecstack -Bsymbolic --whole-archive --no-undefined -o $PLATFORM/usr/libffmpeg.so libavcodec/libavcodec.a libavfilter/libavfilter.a libavresample/libavresample.a libavformat/libavformat.a libavutil/libavutil.a libswscale/libswscale.a -lc -lm -lz -ldl -llog --warn-once --dynamic-linker=/system/bin/linker $PREBUILT/lib/gcc/arm-linux-androideabi/4.4.3//usr/libffmpeg.so ../libs/