linux 下编译 vlc

1、下载 Android NDK

http://ubuntu.buct.edu.cn/

下载 android-ndk-r10e-linux-x86.bin

并执行以下命令

$ cd /opt
$ sudo mkdir android
$ sudo chmod 777 android

$ cd ~/Download
$ sudo chmod a+x android-ndk-r10e-linux-x86.bin
$ ./android-ndk-r10e-linux-x86.bin
$ mv android-ndk-r10e /opt/android

在第三步中,配置环境变量后,可通过 ndk-build 来检测 ndk 是否已经配置好

2、下载 Android SDK

http://www.androiddevtools.cn/

下载 android-studio 1.2.2

安装完 android-studio 1.2.2 后,Android SDK 将自动安装至用户目录下:

如: /home/re-x/Android/Sdk

3、配置 环境变量

在 /etc/profile 的末尾处添加以下内容(其中JAVA相关的内容之前已经配置过):

export JAVA_HOME=/usr/local/java/jdk1.8.0_20
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$HOME/bin:$JAVA_HOME/bin

export ANDROID_SDK=/home/re-x/Android/Sdk
export ANDROID_NDK=/opt/android/android-ndk-r10e
export ANDROID_ABI=armeabi-v7a
export PATH=$PATH:$ANDROID_NDK
export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools

4、获取 vlc 的配置代码

$ cd ~/workspace
$ mkdir vlc_compile
$ cd vlc_compile
$ git clone git://git.videolan.org/vlc-ports/android.git 

5、编译及在编译中遇到的问题的解决

注意:当遇到问题并将问题解决后,每次都需要重新执行 ./compile.sh 脚本。

执行以下命令:

vlc_compile/android$ source /etc/profile
vlc_compile/android$ ./compile.sh

在提示 You are ready to build VLC and its contribs
Bootstraping 之前,大多都是少文件,一般放到 android/vlc/extras/tools 目录下:

1):1: Network is unreachable
make: *** [apache-ant-1.9.5.tar.bz2] Error 7
apache-ant-1.9.5.tar.bz2

解决:

http://www.apache.org/dist/ant/binaries

下载对应文件,并改名(注意改名后将其放置到 vlc/extras/tools目录下)

$ mv apache-ant-1.9.5-bin.tar.bz2 apache-ant-1.9.5.tar.bz2

当遇到

You are ready to build VLC and its contribs
Bootstraping
NOTE: GNU gettext appears to be missing or out-of-date.
Please install or update GNU gettext.
Also check if you have cvs, a dependency of autopoint.
Otherwise, you will not be able to build a source tarball.

时,执行以下命令

$ sudo apt-get install gettext
$ sudo apt-get install cvs

这以后遇到的问题大都是库的下载失败,遇到下载失败的,一率放到 vlc/contrib/tarballs/ 目录下

2)make: *** [../../contrib/tarballs/libass-0.12.1.tar.gz] Error 7
make: *** Deleting file `../../contrib/tarballs/libass-0.12.1.tar.gz'

解决办法:

用浏览器打开 https://github.com/libass/libass/releases/download/0.12.1/libass-0.12.1.tar.gz

多试几次就可以下载下来

3)make: *** [../../contrib/tarballs/libgcrypt-1.6.2.tar.bz2] Error 7
make: *** Deleting file `../../contrib/tarballs/libgcrypt-1.6.2.tar.bz2'

解决办法:

http://mirrors.dotsrc.org/gcrypt/libgcrypt/

下载 libgcrypt-1.6.2.tar.bz2

4)make: *** [../../contrib/tarballs/libdsm-0.0.6.tar.gz] Error 7
make: *** Deleting file `../../contrib/tarballs/libdsm-0.0.6.tar.gz'

解决办法:

用浏览器打开: https://github.com/videolabs/libdsm/releases/download/v0.0.6/libdsm-0.0.6.tar.gz

多试几次即可

5)make: *** [../../contrib/tarballs/openjpeg-1.5.0.tar.gz] Error 7
make: *** Deleting file `../../contrib/tarballs/openjpeg-1.5.0.tar.gz'
contribs: make fetch failed

解决办法:

download.videolan.org/contrib/openjpeg-1.5.0.tar.gz

下载

6)make: *** [../../contrib/tarballs/protobuf-2.6.0.tar.bz2] Error 7
make: *** Deleting file `../../contrib/tarballs/protobuf-2.6.0.tar.bz2'
contribs: make fetch failed

解决办法:

http://download.csdn.net/download/qq_24452923/8852873

下载

之后,一路成功,如下图示:

原文地址:https://www.cnblogs.com/aqing1987/p/4626631.html