您的位置:首页 > 移动开发 > Android开发

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

2015-06-23 11:56 706 查看
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)

1
2
3
4
5
6
7
8
9
10
11
12
13
$ 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 就行了。



最后附上编译成功截图

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android vlc Ubuntu 编译