持续更新中。。。

最后一次修改于 2016-03-20 15:33:45

1、必要库的安装

除基本编译环境(gcc、g++等外),需要额外安装如下的库(用于下载必要的依赖文件)

(1)JDK

推荐安装Oracle的JAVA SE,下载最新的版本即可,不推荐OpenJDK版本(容易出现一些包找不到的问题);

安装教程 例如 Ubuntu下安装JDK1.8;

安装之前检查是否有安装过其他jdk版本,执行 java -version看是否有输出版本信息。

如果已经安装过openJdk,执行如下指令卸载所有OpenJdk版本。

sudo apt-get remove openjdk*

下载之后设置环境变量,添加JDK相关的设置:

$ gedit ~/.bashrc
# 在该文件末尾加入以下内容(JAVA_HOME设置为JDK文件夹的路径)
export JAVA_HOME=/usr/local/jdk1..0_73
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:{JRE_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin
# 完成后执行java -version测试是否得到版本号
$ java -version
java version "1.8.0_73"
Java(TM) SE Runtime Environ,ent (build 1.8.0_73-b02)
Java HotSpot(TM) 64-bit Server VM (build 25.73-b02, mixed mode)

完成后执行java -version如果得到上述版本信息说明安装成功。

(2) 所依赖的必要库

均可以通过sudo apt-get install指令进行安装,例如

sudo apt-get install yasm

yasm (编译汇编必要)

curl (下载依赖的源码包必要)

autoreconf ()

automake ()

gcc-fortran (cmake新版本编译需要)

elf 库 (cmake编译需要,如果cmake版本达到3.4以上可不需要)

qmake (cmake编译需要)

patch (必要的工具,某些官方的代码需要打补丁才能在vlc中使用)

gettext (编译VLC必须,需要从 http://ftp.gnu.org/gnu/gettext/ 上下载最新的版本自行编译安装)

(3) 安卓开发必须安装的工具与包

NDK(最新的版本,需要包含将要编译的安卓版本的对应platform文件,采用C/C++开发必备)

SDK(最新的版本,也需要包含对应版本的platform文件)

Extra libs(SDK安装完毕后执行 android update sdk然后选择相应的包进行更新):

Local maven repository for Support Library

Android Support libs

Google Repository

2、下载VLC Android的git工程

下载地址:  https://code.videolan.org/videolan/vlc-android.git

Windows下注意设置AutoCrLf和SafeCrLf,

建议的设置为

#提交时转换为LF,检出时不转换
git config --global core.autocrlf input
#提交包含混合换行符的文件时给出警告
git config --global core.safecrlf warn

3、执行 ./compile.sh 命令等待编译过程完成

(1)无法下载gradle的错误

if [ ! -d "gradle/wrapper" ]; then
echo "Downloading gradle"
GRADLE_VERSION=2.6
GRADLE_URL=http://servie.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip
wget ${GRADLE_URL} >/dev/null || curl -O ${GRADLE_URL}

需要修改一处地址,否则无法下载到正确的包:
    GRADLE_URL=http://downloads.gradle.org/distributions/gradle-${GRADLE_VERSION}-all.zip

(2)nfs库编译错误(可能出现)

修改 contrib/contrib-android***/nfs/lib 目录下的 libnfs.c 和 libnfs-sync.c

出现错误的原因是代码中有这样两行可能导致错误:

#ifdef __ANDROID__
#define statvfs statfs
#endif

修改方式是 注释 #define statvfs statfs这行

#ifdef __ANDROID__
// #define statvfs statfs
#endif

(3)lua

configure: error: You need 32-bits luac when using using lua from contrib.

$ sudo apt-get install liblua5.2-0:i386 liblua5.2-0-dev:i386

$ file  vlc/contrib/arm-linux-androideabi/bin/luac

$ rm -f vlc/contrib/arm-linux-androideabi/bin/lua
$ rm -f vlc/contrib/arm-linux-androideabi/bin/luac $ ln -s /usr/bin/lua vlc/contrib/arm-linux-androideabi/bin/lua
$ ln -s /usr/bin/luac vlc/contrib/arm-linux-androideabi/bin/luac

(4)其他编译错误

一般是下载某些库出错,保持网络畅通,重复执行

./compile.sh

即可。

4、修改了某些依赖库后的重新编译

一些库是允许修改的:

例如vlc的contrib目录下的ffmpeg库,并不会校验压缩包的MD5信息,

可以偷偷替换 ./vlc/contrib/tarballs 文件夹下对应的压缩包,并使用touch指令更新该压缩包的修改时间。

然后重新执行 ./compile.sh 即可(会检测到该类包的修改然后重新解压缩并且编译)。

另外一些库是带有MD5值校验的:

例如 nfs 库,

直接修改它的相应源码应该是可行的。

附:国内的安卓、Ubuntu镜像地址:

可选的一些地址: http://blog.csdn.net/slow_liao/article/details/44358971

Android镜像配置步骤

  1. 启动 Android SDK Manager ,打开主界面,依次选择「Tools」「Options...」,弹出『Android SDK Manager - Settings』窗口;
  2. 『Android SDK Manager - Settings』窗口中,在「HTTP Proxy Server」「HTTP Proxy Port」输入框内填入mirrors.neusoft.edu.cn80,并且选中「Force https://... sources to be fetched using http://...」复选框。设置完成后单击「Close」按钮关闭『Android SDK Manager - Settings』窗口返回到主界面;
  3. 依次选择「Packages」「Reload」
  4. 由于某些网络接入商进行了劫持,会弹出用户认证界面无法使用,和本镜像服务器配置无关。

附:linux指令

ulimit:

http://my.oschina.net/u/219482/blog/313598

virtualBox 虚拟机中共享文件夹的设置

http://www.cnblogs.com/linjiqin/p/3615477.html

tar文件压缩指令

http://blog.csdn.net/dapao123456789/article/details/12889565

Ubuntu15.10 编译VLC Android(安卓)过程记录的更多相关文章

  1. Ubuntu18.10下安装Qt5.12过程记录

    首先你得先安装Ubuntu操作系统(我是在VMWare14中安装的Ubuntu18.10版本). 阿里镜像:https://opsx.alibaba.com/mirror 我这里下载的文件为:ubun ...

  2. 【转】vlc android 代码编译

    转自:http://blog.csdn.net/asircao/article/details/7734201 系统:ubuntu12.04代码:git://git.videolan.org/vlc- ...

  3. 【转】android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

    原文网址:http://www.cnblogs.com/zdz8207/archive/2012/11/27/android-ndk-install.html android 最新 NDK r8 在w ...

  4. android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创)

      android 最新 NDK r8 在window下开发环境搭建 安装配置与使用 详细图文讲解,完整实际配置过程记录(原创) 一直想搞NDK开发却一直给其他事情耽搁了,参考了些网上的资料今天终于把 ...

  5. ubuntu15.10下编译安装wine1.8 rc4

    ubuntu15.10下编译安装wine1.8rc4 Wine (“Wine Is Not an Emulator” 的递归缩写)是一个能够在多种 POSIX-compliant 操作系统(诸如 Li ...

  6. openWRT自学---自己编译的第一个 backfire10.03 版本的过程记录(转)

    基于 backfire10.03(从http://downloads.openwrt.org/backfire/10.03/ 中下砸的源码包backfire_10.03_source.tar.bz2: ...

  7. openWRT自学---自己编译的第一个 backfire10.03 版本的过程记录 --- 实际是由于下载了错误的backfire源码包导致的

    基于 backfire10.03(从http://downloads.openwrt.org/backfire/10.03/ 中下砸的源码包backfire_10.03_source.tar.bz2: ...

  8. Linux下编译VLC for Android源代码总结

    转:http://blog.chinaunix.net/uid-26611383-id-3678766.html 由于项目需要,需要一个在android平台能够支持RTSP协议的播放器,由于之前没有a ...

  9. 升级Windows 10 正式版过程记录与经验

    升级Windows 10 正式版过程记录与经验 [多图预警]共50张,约4.6MB 系统概要: 预装Windows 8.1中文版 64位 C盘Users 文件夹已经挪动到D盘,并在原处建立了符号链接. ...

随机推荐

  1. 利用Continuous Testing实现Eclipse环境自己主动单元測试

    当你Eclipse环境中改动项目中的某个方法时,你可能因为各种原因没有执行单元測试,结果代码提交,悲剧就可能随之而来. 所幸infinitest(http://infinitest.github.io ...

  2. WordPress公布新文章Email通知注冊用户

    非常多WordPress博客都开放了用户注冊的功能,用户能够參与到博客的内容建设其中来.也就是一个博客由多个用户来写.如今有这种需求,怎样实如今某一个用户发表文章后.其它用户都能收到Email通知?以 ...

  3. CENTOS运行报错java.lang.OutOfMemoryError

    java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "http-bio-8080-ex ...

  4. linux atime ctime mtime

    touch testtime 1. stat testtime[为文件名] 可以查看这个文件名的三者状态 2.ll testtime;ll --time=atime testtime ;ll --ti ...

  5. android ViewPager滑动事件讲解

    首先ViewPager在处理滑动事件的时候要用到OnPageChangeListener OnPageChangeListener这个接口需要实现三个方法:(onPageScrollStateChan ...

  6. Thumb

    这个控件,真不好介绍,MSDN上也是草草几句,反正就是可以让用户拖动的玩意儿,但是,你会发现,当你在该控件上拖动时,它没有反响,也就是说这个东西默认不做任何操作的,它是赖在那里什么都不干,除非你去踢上 ...

  7. Redis操作Hash工具类封装,Redis工具类封装

    Redis操作Hash工具类封装,Redis工具类封装 >>>>>>>>>>>>>>>>>> ...

  8. Unity3D 3D坦克大战

    视频学习来源 移动和旋转 using UnityEngine; using System.Collections; /* * Adminer:sun2955 * http:www.yinghy.com ...

  9. jpGraph的应用及基本安装配置 BY 命运

    1.---jpGraph其实就是一个图表类库,会让开发者们作图非常方便,只要几行代码就可以勾画出非常炫的图表. 官方下载地址是:http://jpgraph.net/download/   jpGra ...

  10. 调试环境部署续:vs远程调试

    原文http://www.bitscn.com/weixin/464994.html 第一步  IIS的配置 进入iis,点击网址,选择你的网站,在窗口的右边编辑网站中点击绑定,如图所示. 进入网站绑 ...