一、搭建Linux編譯環(huán)境,如果有Linux環(huán)境可以省略。
1.下載centos6.8.iso映像文件,下載網(wǎng)址:http://archive.kernel.org/centos-vault/6.8/isos/x86_64/CentOS-6.8-x86_64-bin-DVD1.iso
2.下載安裝虛擬機(jī):VMware-workstation-full-14.1.3-9474260.exe
3.安裝虛擬機(jī),安裝centos6.8系統(tǒng)

4.運(yùn)行centos6.8系統(tǒng)的虛擬機(jī),實(shí)現(xiàn)centos系統(tǒng)與本機(jī)windows系統(tǒng)文件共享
4.1.運(yùn)行centos系統(tǒng),記住以root用戶(hù)登錄,點(diǎn)擊虛擬機(jī)->重新安裝VMware Tools(T)...

4.2.會(huì)彈出一個(gè)窗口,復(fù)制這個(gè)文件VMwareTools.xxxx.tar.gz到/mnt/cdrom 目錄下,如果沒(méi)有這個(gè)目錄則創(chuàng)建

4.3.運(yùn)行命令 tar -zxvf VMwareTools-xx.tar.gz 解壓這個(gè)文件
4.4.這時(shí)你會(huì)發(fā)現(xiàn)有這個(gè)目錄

4.5.打開(kāi)命令行,進(jìn)入到vmware-tools-distrib目錄里面運(yùn)行命令:./vmware-install.pl

4.6.設(shè)置共享目錄,實(shí)現(xiàn)兩個(gè)系統(tǒng)文件共享


把share文件設(shè)置成共享文件

把下載的android-ndk-r14b-linux-x86_64.zip放到share目錄里面

重新啟動(dòng)虛擬機(jī)centos系統(tǒng),這時(shí)你進(jìn)入centos系統(tǒng),打開(kāi)/mnt/hgfs目錄里面可以看到一個(gè)share目錄

這樣就實(shí)現(xiàn)centos和windows文件共享了,以后方便把編譯完成的.so文件拷貝出來(lái)。
接下來(lái)就是重要的步驟了,睜大眼睛看清楚
二.搭建ndk環(huán)境。
1.我們先在/mnt目錄下面新建一個(gè)ndk_build目錄。
2.把/mnt/hgfs/share目錄里面的android-ndk-r14b-linux-x86_64.zip文件拷貝到ndk_build目錄下面,打開(kāi)命令行,cd/mnt/ndk-build->運(yùn)行命令
unzip android-ndk-r14b-linux-x86_64.zip


這時(shí)會(huì)生成一個(gè)android-ndk-r14b

配置全局ndk路徑:命令行輸入命令:vim ~/.bashrc

保存退出,運(yùn)行命令:
source ~/.bashrc//執(zhí)行環(huán)境變量
ndk-build//查看是否安裝成功,只要不是顯示ndk-build not found,則表示安裝成功
這時(shí)ndk就搭建好了
三.安裝c++環(huán)境,運(yùn)行命令:yum install gcc-c++
四.編譯ffmpeg
1.在/mnt目錄下新建ffmpeg目錄
2.打開(kāi)命令行,進(jìn)入到該目錄下:下載ffmpeg,并且解壓

3.找到configure文件,并且替換里面的一些設(shè)置:
將該文件中的如下四行:
SLIBNAME_WITH_MAJOR='$(SLIBNAME).$(LIBMAJOR)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_VERSION)'
SLIB_INSTALL_LINKS='$(SLIBNAME_WITH_MAJOR)$(SLIBNAME)'
替換為
SLIBNAME_WITH_MAJOR='$(SLIBPREF)$(FULLNAME)-$(LIBMAJOR)$(SLIBSUF)'
LIB_INSTALL_EXTRA_CMD='$$(RANLIB)"$(LIBDIR)/$(LIBNAME)"'
SLIB_INSTALL_NAME='$(SLIBNAME_WITH_MAJOR)'
SLIB_INSTALL_LINKS='$(SLIBNAME)'

保存文件
4.新建文件android_build.sh


打開(kāi)該文件,粘貼以下代碼:
#!/bin/bash
make clean
export NDK=/mnt/ndk_build/android-ndk-r14b
export SYSROOT=$NDK/platforms/android-9/arch-arm/
export TOOLCHAIN=$NDK/toolchains/arm-linux-androideabi-4.9/prebuilt/linux-x86_64
export CPU=arm
export PREFIX=$(pwd)/android/$CPU
export ADDI_CFLAGS="-marm"
./configure --target-os=linux
--prefix=$PREFIX --arch=arm
--disable-doc
--enable-shared
--disable-static
--disable-yasm
--disable-symver
--enable-gpl
--disable-ffmpeg
--disable-ffplay
--disable-ffprobe
--disable-ffserver
--disable-doc
--disable-symver
--cross-prefix=$TOOLCHAIN/bin/arm-linux-androideabi-
--enable-cross-compile
--sysroot=$SYSROOT
--extra-cflags="-Os -fpic $ADDI_CFLAGS"
--extra-ldflags="$ADDI_LDFLAGS"
$ADDITIONAL_CONFIGURE_FLAG
make clean
make
make install

5.對(duì)android_build.sh授權(quán),運(yùn)行命令:chmod -R 777 ./android_build.sh

然后運(yùn)行./android_build.sh

然后開(kāi)始編譯了.
編譯成功之后會(huì)有這個(gè)文件



至此,動(dòng)態(tài)庫(kù)文件就生成好了,這樣就可以在android上引用啦。