作者: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. LeetCode 46

    // 又是可以用回溯法做的一道题.class Solution { public: vector<vector<int>> permute(vector<int>& ...

  2. vue-cli脚手架目录讲解

    build目录 config目录 是webpack配置相关的 node-modules目录 是我们用npm install 安装的依赖代码库 src目录 是我们项目的源码(我们开发的所有项目文件都在s ...

  3. hdu 3262 09 宁波 现场 C - Seat taking up is tough 暴力 难度:0

    Description Students often have problems taking up seats. When two students want the same seat, a qu ...

  4. MVC Ajax Helpers

    在MVC中要实现Ajax有很多的方式,有微软自己的MicrosoftAjax,也可以用JQuery的AJax来实现,如果对其他的JavaScript框架熟悉,还可以采用其他的实现方案,比如说Proto ...

  5. 201621123010 《Java程序设计》第1周学习总结

    1. 本周学习总结 本周主要学习了五个知识点 Java是面向对象的语言 JDK,JRE,JVM的联系 javac及java指令 Java跨平台运行的原理 新概念:类,类是面向对象中的概念 2. 书面作 ...

  6. react native遇到的坑

    1.模拟器报错no bundle url present https://github.com/facebook/react-native/issues/12754 http://www.cnblog ...

  7. python 读写西门子PLC 包含S7协议和Fetch/Write协议,s7支持200smart,300PLC,1200PLC,1500PLC

    本文将使用一个gitHub开源的组件技术来读写西门子plc数据,使用的是基于以太网的TCP/IP实现,不需要额外的组件,读取操作只要放到后台线程就不会卡死线程,本组件支持超级方便的高性能读写操作 nu ...

  8. Java并发编程之三:volatile关键字解析 转载

    目录: <Java并发编程之三:volatile关键字解析 转载> <Synchronized之一:基本使用>   volatile这个关键字可能很多朋友都听说过,或许也都用过 ...

  9. c++ 读取所有图片

    copyright by Jun Yang, SUN YAT-SEN UNIVERSITY //FileList.h ///////////////////////////////////////// ...

  10. 汉诺塔(Hanoi)——小小算法

    传送门: 袁咩咩的小小博客 汉诺(Hanoi)塔源于古印度,是非常著名的智力趣题,大意如下: 勃拉玛是古印度的一个开天辟地的神,其在一个庙宇中留下了三根金刚石的棒,第一 根上面套着64个大小不一的圆形 ...