下面在Linux下用NDK编译VLC解码库的步骤:
1、 首先用git clone 下载faplayer的源码。最好用git clone下载。直接下载zip压缩包,编译的时候有问题。需要把include的文件夹修改。
git clone https://github.com/tewilove/faplayer.git
2、 安装ndkR6b
安装google的NDK,这里我用的是R6b版本。当前最新的Linux版本。
http://dl.google.com/android/ndk/android-ndk-r6b-linux-x86.tar.bz2
3、 安装ruby
在Ubuntu下安装ruby: sudo apt-get install ruby
4、 设置ndk的环境变量(不一定需要设置,设置了,方便后面使用)
输入: sudo gedit /etc/profile 打开profile文件,在最后,加入
export NDKPATH="/home/username/ ndk dir"
username = 是你用户的名字
ndk dir = 是你放NDK的根目录,根目录下有ndk-build文件
在终端使用 source /etc/profile 刷新内容。或者重启终端也可以
验证设置是否正确:
echo $NDKPATH 如果设置正确会输入你设置的路径
cd $NDKPATH 跳转到NDK根目录
环境变量一定要设置好,否则后面无法编译
5、 修改build.sh文件
Faplayer根目录下有一个build.sh文件,打开。第4行 ndk-build $@ || exit 1
改为 $ NDKPATH/ndk-build $@ || exit 1
主要是设置好编译的NDK的路径
6、 终端下执行 ./build.sh
这个编译要花点时间,大概十分钟左右。编译好在libs文件夹下有个一个libvlccore.so 大概11.3M的动态库。
这里还有一点需要说明,上面只是编译出libvlccore.so的解码库。其实faplayer的脚本文件build.sh是可以编译出整个apk文件的,不过还需要安装Ant和android的SDK以及配置相关开发环境。因为我主要是在window下开发Android的应用。所以我只要得到libvlccore.so就可以把工程拷到window下继续开发。把工程拷到window下,用eclipse打开,重新编译一次就好了。
build.sh默认是编译出一个arm-v7版本的动态库,如果需要在arm-A9或者arm-v7以下版本编译,需要调整编译参数。主要是Android.mk的编译参数。
用我自己的手机defy测试,播放效果不错。