Ubuntu12.04编译vlc-android详细流程
摘要:本文主要介绍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下编译的过程。
Ubuntu12.04编译vlc-android详细流程的更多相关文章
- 转: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 ...
- Ubuntu12.04编译Android2.3.4
Ubuntu12.04编译Android2.3.4 1.下载Ubuntuubuntu-12.04-dvd-i386.iso2.使用U盘安装,启动盘制作用unetbootin-windows-568工具 ...
- Ubuntu12.04编译Android4.0.1源码全过程-----附wubi安装ubuntu编译android源码硬盘空间不够的问题解决
昨晚在编译源码,make一段时间之后报错如下: # A fatal error has been detected by the Java Runtime Environment: # # SIGSE ...
- Ubuntu15.10 编译VLC Android(安卓)过程记录
持续更新中... 最后一次修改于 2016-03-20 15:33:45 1.必要库的安装 除基本编译环境(gcc.g++等外),需要额外安装如下的库(用于下载必要的依赖文件) (1)JDK 推荐安装 ...
- ubuntu12 安装redis和phpRedisAdmin详细流程
一.Ubuntu安装redis(redis默认端口6379) 方式一.直接下载源码,编译(redis可以编译源码之后直接运行,不需要安装) 1.1执行命令,从官网下载源码编译: $ wget http ...
- ubuntu12.04编译rtems doc目录
我的rtem的版本是rtems-4.10.2:首先安装textinfo:sudo apt-get install texinfo 然后: cd rtems-4.10.2/doc../bootstrap ...
- Ubuntu12.04环境搭建遇到的问题和建议(一个)
后的新公司需要在Ubuntu12.04在结构Android开发环境,在这个过程中,我们还是会遇到很多问题,这里记录.为了方便自己的未来,有人谁需要参考.从网络! 1. Q:在终端: sudo apt- ...
- ubuntu12.04下编译Linux tina 2.1/android经验
用的是osboxes下的vdi. 编译Linux 1. 不能在root用户下操作 2. 执行 make kernel_menuconfig 报错,需要 apt-get install zlib1g z ...
- Android编译环境——ubuntu12.04上android2.3.4编译错误以及解决
Android编译环境——ubuntu12.04上android2.3.4编译错误以及解决 分类: android应用开发2013-08-21 09:20 4222人阅读 评论(3) 收藏 举报 li ...
随机推荐
- 也来说说C#异步委托 (转自 Rising_Sun)
前些日子,看到园子里面有人用老王喝茶的例子讲解了一下同步和异步,虽然没有代码实现,但是能够通俗易懂的讲解了同步.异步.阻塞.非阻塞的关系了,今天借题发挥,用一个热水器加热洗澡的例子来具体演示一下C#使 ...
- 两个值相等的Integer的==比较问题
@Test public void testIntegerEqual() { /** -128~127 之外的数**/ Integer tem = 129; ...
- iOS UI-自动布局(Autoresizing)
// // ViewController.m // IOS_0115_buzhi // // Created by ma c on 16/1/15. // Copyright (c) 2016年 博文 ...
- 微信支付 WeixinJSBridge is not defined 报错
https://www.cnblogs.com/ottoman/p/7614419.html 我没有用到微信JS-SDK或者接口都正确返回预支付id都正确, 为什么会报这个错呢?答: 微信内置浏览器会 ...
- easyui combobox 动态加载数组数据
怕自己忘了,记录下来以后用方便 html部分 <input id="rzcode" name="businesItemId" style="wi ...
- jmeter4.0---自带录制功能录制脚本
1.前言 Jmeter录制脚本有两种方式.1.通过第三方工具录制比如:Badboy,然后转化为jmeter可用的脚本:2.使用jmeter本身自带的录制脚本功能. 对于小白来说可用先使用jmeter录 ...
- C++面向对象高级编程(九)Reference与重载operator new和operator delete
摘要: 技术在于交流.沟通,转载请注明出处并保持作品的完整性. 一 Reference 引用:之前提及过,他的主要作用就是取别名,与指针很相似,实现也是基于指针. 1.引用必须有初值,且不能引用nul ...
- Linux 定制X86平台操作系统
/********************************************************************************* * Linux 定制X86平台操作 ...
- MyBatis的一对一
1. 建立好工程后,在pom.xml中配置myBatis的依赖. <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...
- HDU1300 Pearls(可斜率优化)
+)*= +)*= .总共需要的花费是150+=++)*= .在两组数据看来.珍珠都买了高品质的了,而且花费也少了!问题是怎么样能花费最少买珍珠! Add:合并肯定是相邻的合并.比如啊a<b&l ...