2015——VLC编译
一、工具准备
需要的工具最好都用最新版的。官方文档:https://wiki.videolan.org/AndroidCompile
1、编译系统:Ubuntu 32位,我这里用的是ubuntukylin-14.04.2-desktop-i386,安装在vmware虚拟机上,这里注意必须用32位linux系统,我最开始用的64位始终编译不成功。
2、sdk:官网下载最新的sdk,我这里用的是android-sdk-r24.3.3-linux.tar,解压后下载最新的build-tools,sdk5.0以上的(vlc使用了5.0以上才有的一些样式功能),以及最新的support library。
3、ndk:我这里用的是android-ndk-r10e-linux-86.bin。
4、jdk:我这里用的是jdk-8u51-linux-i586。
二、环境准备
1、安装必备的组件
sudo apt-get install automake ant autopoint cmake build-essential libtool \ patch pkg-config protobuf-compiler ragel subversion unzip git2、设置环境变量jdk:
export JAVA_HOME=/home/shixq/tools/jdk1.8.0_51 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATHsdk,ndk:export ANDROID_SDK=/home/shixq/tools/android-sdk-linux export ANDROID_NDK=/home/shixq/tools/android-ndk-r10e export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools export ANDROID_ABI=armeabi-v7aANDROID_ABI要根据所使用的android平台决定,可以是x86,mips,不写的话默认是armeabi-v7a。
三、获取配置代码
git clone git://git.videolan.org/vlc-ports/android.git 会在当前目录生成一个android目录。
四、开始编译
进入到android目录,执行./compile.sh,脚本会自动下载vlc源码及编译所需的插件,网络良好的情况下下载还是比较快的,中间遇到的大部分问题都是因为被墙的原因导致下载失败,如果你有vpn的话会顺利很多,否则的话只能手动去网上下了,总之就是哪个下失败,就手动下载下来放到对应目录下,然后接着./compile.sh。这个过程可能重复很多次,要有耐心。中间还遇到个gettext版本问题,系统自带版本是0.18.3(使用 gettext --version查看版本),编译配置文件所需版本要大于0.18.3,本来想手动升级下,从网上下载了0.19.3安装后没想到还是0.18.3,后来根据这篇文章解决:http://stackoverflow.com/questions/30259182/build-vlc-for-android-project-failed-on-ubuntu-12-04。
就是手动将配置文件改成0.18.3。./vlc/configure.ac:439:AM_GNU_GETTEXT_VERSION([0.19.2]) ./vlc/contrib/contrib-android-arm-linux-androideabi/gnutls/configure.ac:148:AM_GNU_GETTEXT_VERSION([0.18]) ./vlc/contrib/contrib-android-arm-linux-androideabi/libgpg-error/configure.ac:158:AM_GNU_GETTEXT_VERSION([0.19.3])
编译成功截图:
五、运行程序
编译完后的apk文件在android/vlc-android/build/outputs下,程序运行需要的文件
libvlc和vlc-android是主要的源代码,因为是用gradle构建的所以用eclipse的话,就比较悲催了,需要手动引入support下的design和v7下的appcompat和cardview,还有个互相引用的问题,哎,所以还是用androd studio或者idea来运行程序吧。
附上资源连接:http://download.csdn.net/detail/s569646547/9049283
版权声明:本文为博主原创文章,未经博主允许不得转载。