作者:wainiwann
出处:http://www.cnblogs.com/wainiwann/

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
 

摘要:本文主要介绍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 ”

下载地址:http://www.oracle.com/technetwork/java/javasebusiness/downloads/java-archive-downloads-javase6-419409.html

点击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手机上。

四 最后附上编译成功的截图:

---------------------------------------------------------------------------------------------------我是黄金分割------------------------------------------------------------------------------------------------------------------------------

完结:编译过程当中一定要有足够的耐心和自信!!!

作者:wainiwann
出处:http://www.cnblogs.com/wainiwann/

本文版权归作者所有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
 

摘要:本文主要介绍vlc-android在ubuntu下编译的过程。

Ubuntu12.04编译vlc-android详细流程的更多相关文章

  1. 转:Ubuntu12.04编译VLC,在linux上运行

    Ubuntu12.04编译vlc2.1.0 1.编译环境 VM8.0.1 # gcc -v Using built-in specs. COLLECT_GCC=gcc COLLECT_LTO_WRAP ...

  2. Ubuntu12.04编译Android2.3.4

    Ubuntu12.04编译Android2.3.4 1.下载Ubuntuubuntu-12.04-dvd-i386.iso2.使用U盘安装,启动盘制作用unetbootin-windows-568工具 ...

  3. Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决

    昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...

  4. Ubuntu15.10 编译VLC Android(安卓)过程记录

    持续更新中... 最后一次修改于 2016-03-20 15:33:45 1.必要库的安装 除基本编译环境(gcc.g++等外),需要额外安装如下的库(用于下载必要的依赖文件) (1)JDK 推荐安装 ...

  5. ubuntu12 安装redis和phpRedisAdmin详细流程

    一.Ubuntu安装redis(redis默认端口6379) 方式一.直接下载源码,编译(redis可以编译源码之后直接运行,不需要安装) 1.1执行命令,从官网下载源码编译: $ wget http ...

  6. ubuntu12.04编译rtems doc目录

    我的rtem的版本是rtems-4.10.2:首先安装textinfo:sudo apt-get install texinfo 然后: cd rtems-4.10.2/doc../bootstrap ...

  7. Ubuntu12.04环境搭建遇到的问题和建议(一个)

    后的新公司需要在Ubuntu12.04在结构Android开发环境,在这个过程中,我们还是会遇到很多问题,这里记录.为了方便自己的未来,有人谁需要参考.从网络! 1. Q:在终端: sudo apt- ...

  8. ubuntu12.04下编译Linux tina 2.1/android经验

    用的是osboxes下的vdi. 编译Linux 1. 不能在root用户下操作 2. 执行 make kernel_menuconfig 报错,需要 apt-get install zlib1g z ...

  9. Android编译环境——ubuntu12.04上android2.3.4编译错误以及解决

    Android编译环境——ubuntu12.04上android2.3.4编译错误以及解决 分类: android应用开发2013-08-21 09:20 4222人阅读 评论(3) 收藏 举报 li ...

随机推荐

  1. APP的六种loading加载样式,全在这...

    今天这篇文章是给大家分享的loading加载的设计,文章里面会有一些实例在这分享给大家! 大多数App都要与服务器进行数据的交换,App向服务器发出数据请求,服务器接收到请求之后向App传输相应数据, ...

  2. linux 常用操作以及概念

    一.常用操作以及概念 查看LINUX发行版的名称及其版本号的命令: lsb_release -a cat /etc/redhat-release(针对redhat,Fedora) 0.rpm包路径:/ ...

  3. ARIMA模型——本质上是error和t-?时刻数据差分的线性模型!!!如果数据序列是非平稳的,并存在一定的增长或下降趋势,则需要对数据进行差分处理!ARIMA(p,d,q)称为差分自回归移动平均模型,AR是自回归, p为自回归项; MA为移动平均,q为移动平均项数,d为时间序列成为平稳时所做的差分次数

    https://www.cnblogs.com/bradleon/p/6827109.html 文章里写得非常好,需详细看.尤其是arima的举例! 可以看到:ARIMA本质上是error和t-?时刻 ...

  4. C#金额千分位分隔

    "234234".ToString("C") 显示:¥234,234

  5. POJ 3984 迷宫问题 bfs 难度:0

    http://poj.org/problem?id=3984 典型的迷宫问题,记录最快到达某个点的是哪个点即可 #include <cstdio> #include <cstring ...

  6. cx_oracle 安装和配置

    前提条件: 已经成功安装python 已经成功安装oracle客户端 1.去官网上下载对应版本的cx_oracle http://cx-oracle.sourceforge.net/ 注意版本必须与p ...

  7. 转载:【Oracle 集群】RAC知识图文详细教程(九)--RAC基本测试与使用

    文章导航 集群概念介绍(一) ORACLE集群概念和原理(二) RAC 工作原理和相关组件(三) 缓存融合技术(四) RAC 特殊问题和实战经验(五) ORACLE 11 G版本2 RAC在LINUX ...

  8. 201621123010《Java程序设计》第4周学习总结

    1. 本周学习总结 1.1 写出你认为本周学习中比较重要的知识点关键词. 继承extends.多态.抽象类 超级父类Object类.父类.子类. 覆盖Override 初始化块 识别类 重载 1.2 ...

  9. New Concept English Two 14 34

    recently  busy  a lot ,just  practices   every   morning. $课文32  购物变得很方便 324. People are not so hone ...

  10. webpack 提升90%的构建速度 HardSourceWebpackPlugin

    HardSourceWebpackPlugin 插件 不能提升第一次构建的速度,但对于第二次构建能提升99%的构建速度 第一次构建: 第二次: 提升了..,算不出来,反正就是很多啦~~~ npm in ...