红联Linux门户
Linux帮助

Ubuntu14.04 vlc-for-android编译过程

发布时间:2015-12-24 10:51:24来源:linux网站作者:Storm-Shadow

vlc-for-android 编译指南官方网址:https://wiki.videolan.org/AndroidCompile
编译过程中要严格按照官网上的操作步骤来,下面我结合自己的实际操作来总结一下,在 Ubuntu14.04 环境下,从安装 jdk 到最终成功编译 vlc-for-android 的整个过程。


1.下载安装 jdk1.7

Jdk1.7下载官方网址:
http://www.oracle.com/technetwork/java/javase/downloads/index.html

解压下载好的文件:
$ sudo tar -zxvf jdk-7u79-linux-x64.tar.gz

设置环境变量:
$ sudo gedit /etc/profile

在文档结尾追加:
export JAVA_HOME=/home/lion/storm/jdk1.7/jdk1.7.0_79
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$ANDROID_NDK:$PATH
export CLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

设置完成后执行:source /etc/profile 重新加载环境变量

将系统默认的java修改过来:
$ sudo update-alternatives --install /usr/bin/javajava/home/lion/storm/jdk1.7/jdk1.7.0_79/bin/java 300
$ sudo update-alternatives --install /usr/bin/javacjavac/home/lion/storm/jdk1.7/jdk1.7.0_79/bin/javac 300
$ sudo update-alternatives --config java
$ sudo update-alternatives --config javac

设置完成,检测一下有没有问题,在命令行输入:
$ java -version

如果命令行显示以下内容,则说明安装配置成功:
java version "1.7.0_79"
Java(TM) SE Runtime Environment (build 1.7.0_79-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)


2.下载安装 android studio

下载完成后,解压:$ sudo unzip android-studio-ide-141.1890965-linux.zip
(解压后文件夹名为android-studio)

然后进入 android-studio/bin/ 目录,执行 sudo ./studio.sh 就可以打开 android studio 了。


3.下载安装 NDK

官方地址:https://developer.android.com/tools/sdk/ndk/index.html

最新版本为 android-ndk-r10b-linux-x86_64.bin

安装好后,配置NDK环境变量

root@ubuntu:~#sudo gedit /etc/profile

在该文件最后面添加(注意自己安装的目录,对应更改就行了)

export ANDROID_NDK=/home/lion/storm/android-dev/android-ndk-r10e/android-ndk-r10e
export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools:$ANDROID_NDK

然后保存退出,执行 source 命令重新加载环境变量:

source /etc/profile

测试 NDK 编译

进入 NDK 安装目录下 samples/hello-jni,在该目录下执行 ndk-build,如果安装配置没问题,那么会打印出如下信息:

... ...

[armeabi] Install        : libhello-jni.so => libs/armeabi/libhello-jni.so
[x86] Install        : libhello-jni.so => libs/x86/libhello-jni.so
[mips] Install        : libhello-jni.so => libs/mips/libhello-jni.so


4.安装一些工具:

sudo apt-get install autoconf automake ant autopoint cmake build-essential libtool m4 patch pkg-config protobuf-compiler ragel subversion unzip git

注意:

(1)如果你要给 Android-x86 设备编译 vlc,那你还要安装 yasm;

(2)对于 64 位系统:还要安装下面这些 32-bit 的 libraries,因为预编译过程需要它们

sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install zlib1g:i386 libstdc++6:i386 libc6:i386

如果你是在老版本的 Ubuntu 上编译,还要安装 ia32-libs

sudo apt-get install ia32-libs


5.clone vlc 源码

进入 android sdk 的根目录(注意是 sdk 的根目录,不是 sources 目录哦,不要以为要 clone 源码,所以要到 sources 下进行),执行以下命令抓取 vlc 源码

git clone git://git.videolan.org/vlc-ports/android.git

这个下载过程可能会花较时间。等到下载完成后,进入 android 目录(下载完成后,会在 sdk 的根目录下生成一个 android 文件夹,下载下来的东西都在里面),执行编译命令 sh ./compile.sh 就可以开始整个编译过程了。编译成功后,会生成相应的 .so 文件及 apk 文件。


6.编译问题
在编译的过程中,可能会出现一些错误,如果配置正确的话,不会出现那么多错误的。要是你编译的过程出频频出错,那么就要注意一下你的配置问题了。下面列出最常见的错误:

(1)
 
$ sh compile.sh
*** No ANDROID_ABI defined architecture: using ARMv7
Downloading gradle
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100   354  100   354    0     0    455      0 --:--:-- --:--:-- --:--:--   455
Archive:  gradle-2.2.1-all.zip
End-of-central-directory signature not found.  Either this fileis not
a zipfile, or it constitutes one disk of a multi-part archive.  In the
latter casethe central directory and zipfile comment will be found on
the last disk(s) of this archive.
unzip:  cannot findzipfile directory inone of gradle-2.2.1-all.zip or
gradle-2.2.1-all.zip.zip, and cannot findgradle-2.2.1-all.zip.ZIP, period.

修改 compile.sh at Line 81(把 81 行换成下面两句)

wget ${GRADLE_URL} 2>/dev/null || curl -O ${GRADLE_URL}
=>wget ${GRADLE_URL} 2>/dev/null || curl -O -L ${GRADLE_URL}

(2)安装的过程中,编译器会自动下载一些依赖文件,有些文件是 google 上的,下载不了(一般情况下,只有 openjpeg 和 protobuf 的下载会有问题)。这些依赖文件通常都是要放到 ../vlc/contrib/tarballs 目录下的,你要自己翻墙下载,然后放到这个目录下,再执行 sh ./compile.sh 就行了。

Ubuntu14.04 vlc-for-android编译过程

最后附上编译成功截图

Ubuntu14.04 vlc-for-android编译过程


ubuntu 15.04编译Android-VLC:http://www.linuxdiyf.com/linux/13289.html

Ubuntu Kylin编译vlc:http://www.linuxdiyf.com/linux/14380.html

linux下使用Git下载代码、编译VLC步骤:http://www.linuxdiyf.com/linux/13918.html

Ubuntu下编译VLC 2.0.1:http://www.linuxdiyf.com/linux/3004.html

在Ubuntu 14.10上安装VLC播放器:http://www.linuxdiyf.com/linux/6986.html