编译环境:
OS:ubuntu 13.10 64bit
CPU: Intel core i5-4200u
RAM: 3.6GB
软件安装下载:
在android开发者网站上下载对应版本的sdk以及ndk,并解压
使用apt-get ant 安装ant
使用apt-get autoconf 安装autoconf
使用apt-get autopoint安装autopoint
使用apt-get libtool安装libtool
使用apt-get gawk安装gawk
使用apt-get g++ 安装g++
使用apt-get cmake 安装cmake
使用apt-get subversion 安装subversion
使用apt-get git 安装git
除了这些软件需要安装外,编译还需要automake、gcc、pkg-config、patch软件,如缺少请自行安装。
因为ubuntu是64位,而sdk中的部分工具是32位的,所以还要安装32位运行库
ia32-libs,但是ia32-libs相对与ubuntu13来说有些过时了,所以换成apt-get install lib32z1
配置环境变量:
配置ANDROID_SDK、ANDROID_NDK、PATH、ANDROID_ABI环境变量
打开用户个人目录下的 .bashrc文件
在最后追加
exportANDROID_SDK=/home/bjrxyz/android/sdk
exportANDROID_NDK=/home/bjrxyz/android-ndk-r9d
exportPATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
export ANDROID_ABI=armeabi-v7a
ANDROID_SDK为android sdk的根目录
ANDROID_NDK 为 android ndk的根目录
ANDROID_ABI 为目标平台
获取源码
git clone git://git.videolan.org/vlc-ports/android.git
会将vlc的项目下载到当前目录的android目录下。
执行编译脚本
先使先前的环境变量生效,然后进入android目录,执行 compile.sh脚本
cd android
sh compile.sh
如果一切正常,会开始下载vlc库的代码,先前下载的是android项目的代码,此时下载的是vlc库的c代码以及vlc库所依赖的组件,下载完成后会自动开始编译,编译时会自动下载所需要的库。部分库的下载速度很慢并且有些库完全下载不下来,有两种解决方法:
1:翻墙
2:通过查看控制台的输出,找出要下载的库的名字,手动下载。
使用ant编译android代码过程有可能因为androidsdk版本与项目版本不一致而失败。有两种解决方法:
1:修改AndroidManifest.xml文件中的android:targetSdkVersion属性为拥有的sdk版本,然后修改project.properties文件中的target属性为拥有的sdk版本。
2:下载project.properties中target属性指版本的sdk。
如果一切正常,就会最后显示BUILD SUCCESSFUL,说明编译成功了。