摘要:本文主要介绍vlc-android在ubuntu下编译的过程。
最近研究了下 vlc-android 的编译,网上一搜资料确实不少,不过大部分都是千遍一律(也不否认有非常详细的)。不能说这些都毫无价值,多少也能给编译vlc带来一些线索。
编译环境使用的是64位ubuntu12.04 源码用的vlc-android最新的源码。整个编译过程耗时将近一天,因为网络原因需要下载很多东西,整个vlc源码达到可编译条件的时候总大小将近2个G。
还有下载很多其他的编译需要的资源。最后编译成功,生成了so库和相应的apk,并且装在手机上可以播放流媒体。
下面就详细总结一下此次编译vlc-android的整个流程,以备以后所需,以及让更多需要它的人少走些弯路。
------------------------------------------------------------------------------------------我是黄金分割--------------------------------------------------------------------------------
一 编译环境搭建:
1.下载配置NDK环境:
本次使用的ndk是 “ android-ndk-r9d-linux-x86_64.tar.bz2 ”
下载地址:http://developer.android.com/tools/sdk/ndk/index.html#Installing (有时会打不开)
对于NDK环境搭建可以参考之前的文章ffmpeg2.2编译:http://www.cnblogs.com/wainiwann/p/3785485.html
里面包含了解码目录,以及NDK环境变量的配置写的非常详细。
2.下载配置SDK环境:
编译的时候需要SDK环境并且需要下载的SDK目录下需要有“platform-tools”这路目录下的adb.exe等工具。所以下载的SDK需要注意下!
这里下载SDK最好不要下载类似 “ android-sdk_r20-linux.tar ” 或者其他版本因为这些版本是不包含 "platform-tools" 这个文件目录的!!!
我这里下载的是包含eclipse 的ADT版本为 “ adt-bundle-linux-x86_64-20131030.zip ” 。
下载地址:http://pan.baidu.com/share/link?shareid=2608460318&uk=2099951531
然后在home目录下新建一个“develop”的目录 (之前ndk也是放到这个目录里的)。再在develop目录下新建目录"android-sdk-linux"目录(建目录这一步自己可以随意)。
然后把 adt-bundle-linux-x86_64-20131030.zip 解压出来,把里面的sdk整个目录下的文件全拷贝到之前的develop目录下的android-sdk-linux目录中。
3.下载配置JDK环境:
如果单纯想编译出vlc的so库,JDK可以不用安装和配置。但如果想编译出vlc的APK那这一步是不能少的!
此处用的jdk是:“ jdk-6u45-linux-x64.bin ”
点击Accept License Agreement 选择需要下载jdk。
这里说一下关于JDK的安装:
1)把下载的 jdk-6u45-linux-x64.bin 拷贝到/home目录下新建一个名字为“jdk”的目录;
2)终端root账户进入上面的jdk目录给 jdk-6u45-linux-x64.bin 增加权限:
# chmod 777 ./jdk-6u45-linux-x64.bin
3)执行安装命令:
# ./jdk-6u45-linux-x64.bin
4.配置NDK、SDK、JDK环境变量:
1)终端root账户命令:
# gedit ~/.bashrc
待弹出编辑页面在页面末尾添加如下几行(具体目录依自己而定):
export NDK=/home/song/develop/android-ndk-r9d
export ANDROID_SDK=/home/song/develop/android-sdk-linux
export ANDROID_NDK=/home/song/develop/android-ndk-r9d
export ANDROID_ABI=armeabi-v7a
export NO_NEON=1
export JAVA_HOME=/home/song/jdk/jdk1.6.0_45
export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools:$JAVA_HOME/bin:$JAVA_HOME/jre/bin
2)然后保存,使其生效 终端命令行:
# source ~/.bashrc
3)检测环境变量配置是否正确:
ndk可以进入ndk下sample目录里的hello-jni进行$NDK/ndk-build 命令编译。JDK可以在root终端命令下(非root需要在编辑~/.bashrc)执行:java -version 如果显示JDK相关的
版本号则为安装正确。
二 编译前需要下载安装的工具:
0.安装编译vlc依赖的其他库:
$ sudo apt-get build-dep vlc
1.下载安装 git 工具:
# apt-get install git
2.下载安装 ant工具:
# apt-get install ant
注:此处下载安装ant 会一并下载安装 openJDK,但不影响编译。
3.下载安装一下工具:
# apt-get install wget
# apt-get install autoconf
# apt-get install libtool
# apt-get install subversion
注:如果有的安装不上不用在意。
4.下载安装需要32位编译的东西:
如果不需要编译生成apk可以不做此操作。
# apt-get update
# apt-get install ia32-libs
三 编译vlc-android :
1)在home目录下新建一个目录这里取名“vlc-code”目录。然后root用户终端命令:
# git clone git://git.videolan.org/vlc-ports/android.git
这里下载会很快下载之后进入到该目录,终端命令:
# cd android
2)执行编译操作:
# sh ./compile.sh
下面将会进入漫长的下载vlc编译所需要的资源包。。。。
3)下载中途可能会出现数次错误:
由于一些资源包可能请求下载的时候超时等都会出现编译失败,此时可以查看失败信息。一般
失败信息上写着那条资源包失败,以及下载该资源的下载地址,此时可以换一个网络或者换一个电脑复制那条下载失败的资源包下载地址,自己手动去下载。
下载之后手动拷贝到该目录:/vlc-code/android/vlc/contrib/tarballs/ 目录下。
然后重新在终端执行编译操作:
# sh ./compile.sh
注:下载过程中可能需要重复步骤3数次。
最后资源包下载完全之后可以 查看 /vlc-code/android/vlc/contrib/tarballs/ 目录 下大概有40个如下资源包:
4)如果资源下载结束最后编译出现
“BUILD SUCESSFUL”
就表示编译成功了,如果没有出现该提示,则需要重复编译操作:
# sh ./compile.sh
注:在vlc编译过程当中始终是该命令。
如果编译当中出现其他错误,可以查看错误信息,然后在网上寻找答案(如果上述环境搭建,下载安装等等都正确的话,应该是可以编译成功的)。
5)编译成功之后:
成功之后会在
/vlc-code/android/vlc-android/libs/ 目录下看到编译好的so库。
会在
/vlc-code/android/vlc-android/bin/ 目录下看到编译好的apk文件,这里可以直接安装在android手机上。
四 最后附上编译成功的截图:
---------------------------------------------------------------------------------------------------我是黄金分割------------------------------------------------------------------------------------------------------------------------------
完结:编译过程当中一定要有足够的耐心和自信!!!
摘要:本文主要介绍vlc-android在ubuntu下编译的过程。