2015——VLC编译

来源:互联网 发布:人工智能 听诊器 编辑:程序博客网 时间:2024/05/01 12:48

一、工具准备

需要的工具最好都用最新版的。官方文档: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 git
2、设置环境变量

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:$PATH  
sdk,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-v7a
ANDROID_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。

./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])
就是手动将配置文件改成0.18.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

0 0