基于Ubuntu14.04 64位系统编译vlc-android源码
2015-03-25 11:55
543 查看
(一)VideoLAN 介绍:
VideoLAN 是一个开发播放器软件和多种多媒体格式流的非营利基金会组织,其最具有影响力的一个产品就是VLC媒体播放器。
VideoLAN 官方wiki网址:://wiki.videolan.org/AndroidCompile#Get_VLC_Source
(二)编译环境搭建:
(1)建立64-bit Ubuntu 14.04环境
在window7操作系统下通过VMware Workstation(最好使用VMware Workstation10或更高版本)安装64-bit Ubuntu 14.04
选择自动安装即可,系统安装完之后会有一些基本的开发及管理工具如:gcc、 g++、 tar、unzip等,开发过程中缺少工具或者版本太旧等软件版本问题后续可以手动安装解决。
(2)JDK、Android SDK、Android NDK、安装
1)JDK安装
Linux x64 JDK版本下载地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260-zhs.html
我这里下载的是JDK7(建议下载JDK6以上版本)jdk-7u75-linux-x64.gz,在/opt/下创建Java路径,
$sudo mkdir /opt/Java
将jdk-7u75-linux-x64.gz拷贝到Java文件夹下之后解压缩即可。
修改用户环境变量:
$ vim ~/.bashrc
在.bashrc最后面添加如下:
export JAVA_HOME=/opt/Java/jdk1.7.0_75
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib/tools.jar:/lib.dt.jar:${JRE_HOME}/lib
$sudo update-alternatives --install /usr/bin/java java /opt/Java/jdk1.7.0_75/bin/java 10
$sudo update-alternatives --install /usr/bin/javac javac /opt/Java/jdk1.7.0_75/bin/javac 10
$sudo update-alternatives --install /usr/bin/jar jar /opt/Java/jdk1.7.0_75/bin/jar 10
$sudo update-alternatives --config java
$sudo update-alternatives --config javac
$sudo update-alternatives --config jar
2)安装Android SDK
SDK tools下载地址:http://developer.android.com/sdk/index.html#Other
在google 官网下载最新的 SDK tools 之后解压缩,我这里解压缩到如下路径:
hbing@ubuntu:~/work/android/tools/android-sdk-linux$ ls
add-ons platforms SDK Readme.txt tools
新下载的SDK 除了tools文件夹之外的所有路径都是空的。
为了能够使用sdk的各个platform的platform-tool工具以及android各个版本对应的platforms还有google的support 库我们要在线安装这些工具
hbing@ubuntu:~/work/android/tools/android-sdk-linux$ ./tools/android update sdk -u -t platform,platform-toosl,extra
由于众所周知的原因我们在线安装成功的概率几乎为零。
解决办法:离线安装android5.0.1(API21)
注:是否需要更高的版本只要查看VLC的源码工程的的build.gradle文件即可,如果此文件中描述的版本较高可以修改此脚本跟编译脚本降低对API的要求,后续编译VLC源码时在说明此问题。
列出SDK中需要的各个工具以及库的下载地址:
(1)Android SDK 主要安装包:sdk tools(如果之前步骤已经可以在官网下载到此处就可以不用在重复下载)
我这里选择下载revision 24.0.2也可以选择下载当前的最新版本
http://dl.google.com/android/android-sdk_r24.0.2-linux.tgz
hbing@ubuntu:~/work/android/tools$tar -xvf android-sdk_r24.0.2-linux.tar
hbing@ubuntu:~/work/android/tools$ ls android-sdk-linux/
add-ons platforms SDK Readme.txt tools
hbing@ubuntu:~/work/android/tools$
以android-sdk-linux/为主要文件夹下载platform-tools工具
下载地址:https://dl-ssl.google.com/android/repository/platform-tools_r22-linux.zip (选择你当前能下载的的最高版本即可不能低于VLC的最低编译要求,否则要修改VLC编译脚本)
解压缩到 android-sdk-linux文件夹的根目录下。
同理下载:build-tools 、platforms 、extras
build-tools:https://dl-ssl.google.com/android/repository/build-tools_r22-linux.zip
platforms :https://dl-ssl.google.com/android/repository/android-22_r01.zip
extras :
1)Android Support Repository(extras/android/m2repository)
https://dl-ssl.google.com/android/repository/android_m2repository_r12.zip
2)Android
Support Library(extras/android/support)
https://dl d409
-ssl.google.com/android/repository/support_r21.0.3.zip
3)Google
Repository(extras/google/m2repository)
https://dl-ssl.google.com/android/repository/google_m2repository_r16.zip
大约需要这些就可以满足编译vlc-android源码的要求。
修改用户环境变量:
$ vim ~/.bashrc
在文件末尾添加
export ANDROID_SDK=/home/hbing/work/android/tools/adt-bundle-linux-x86_64/sdk
3)安装Android NDK
NDK下载地址:http://developer.android.com/tools/sdk/ndk/index.html
在google 官网下载最新版本
的NDK之后解压缩,我这里解压缩到如下路径:
hbing@ubuntu:~/work/android/tools/android-ndk-r10d$ ls
build GNUmakefile ndk-depends ndk-gdb.py ndk-which README.TXT samples toolchains
docs ndk-build ndk-gdb ndk-gdb-py.cmd platforms RELEASE.TXT sources
find-win-host.cmd ndk-build.cmd ndk-gdb-py ndk-stack prebuilt remove-windows-symlink.sh tests
hbing@ubuntu:~/work/android/tools/android-ndk-r10d$
修改用户环境变量:
$
vim ~/.bashrc
在文件末尾添加
export ANDROID_NDK=/home/hbing/work/android/tools/android-ndk-r10d
export PATH=$PATH:${ANDROID_NDK}:${JAVA_HOME}/bin:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
4)验证软件安装情况:
由于是X86_64平台所以此时的adb等工具不能使用,需要安装以下工具
安装必要的软件包: ( 64-bit Ubuntu 14.04)
$ sudo apt-get install bison g++-multilib git gperf libxml2-utils make zlib1g-dev:i386 zip
然后执行
$ sudo source ~/.bashrc
进行测试:
$ java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~trusty1)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
$ ndk-build --help
Usage: make [options] [target] ...
Options:
……
$adb --help
Android Debug Bridge version 1.0.32
……
编译环境搭建完成。
(三)编译vlc-android源码
(1) 安装编译工具
apache-ant (or ant), autoconf, automake, autopoint, cmake, gawk (or nawk), gcc, g++, libtool, m4, patch, pkg-config, protobuf, ragel, subversion, unzip
注:安装上面所列工具,最好安装上述工具的最新版本,如果上述的软件版本过低在编译过程中会提示版本较低的工具不能被识别或者找不到等错误提示,此时只需要将这些版本过低的工具卸载掉安装最新版本即可。
(2)下载vlc源码
可以通过--help命令来查看支持的平台参数如下:
$ sh compile.sh --help
Use -a to set the ARCH:
ARM: armeabi-v7a, armeabi, armeabi-v5, armeabi-nofpu
ARM64: arm64-v8a
X86: x86, x86_64
MIPS: mips, mips64.
Use --release to build in release mode
Use -s to set your keystore file and -p for the password
Use -t to get an AndroidTv build
Use -c to get a ChromeOS build
hbing@ubuntu:~/work/android/project/vlc-android/android$
如果我们执行:
不加 -a 选项默认编译的平台为ARMv7
如果想编译x86_64平台则执行如下命令:
我们这里编译ARMv7所以执行如下:
编译过程中会下载N多个工具包跟第三方库,如果提示编译错误大多是由于下载这些库超时或者未能下载成功导致。
解决办法:离线下载这些第三方库如:编译过程中需要下载protobuf-2.6.0.tar.bz2未能成功可以事先下载好此包将其拷贝到源码目录如下的两个路径中即可即:
./vlc/extras/tools/protobuf-2.6.0.tar.bz2
./vlc/contrib/tarballs/protobuf-2.6.0.tar.bz2
1)编译依赖的第三方库
编译过程中大约需要下面的这些软件包:
我将这些软件包上传到百度云,下载地址:http://pan.baidu.com/s/10Kd4q
解压缩tarballs.tar.bz2之后将其中的软件包放到/vlc-root-dir/android/vlc/contrib/tarballs 目录下面即可接着进行编译:
2)编译出错处理
当出现如下提示表示编译成功完成:
其中vlc-android目录为vlc的android客户端APP源码工程目录,可以将其导入eclipse中进行修改。
$ ls vlc-android/
AndroidManifest.xml assets build build.gradle proguard.cfg project.properties res src tv
hbing@ubuntu:~/work/android/project/vlc-android/android-arm/android$
生成的APK在此工程的build/outputs/apk/目录下面
$ ls build/outputs/apk/
VLC-Android-1.1.6-ARMv7.apk vlc-android-vanilla-ARMv7-debug-unaligned.apk
此版本是debug版本,如果想要编译release版本只需要在编译的时候指定一个release参数即可。
$sh compile.sh release
至此vlc-android源码编译基本完成!
VideoLAN 是一个开发播放器软件和多种多媒体格式流的非营利基金会组织,其最具有影响力的一个产品就是VLC媒体播放器。
VideoLAN 官方wiki网址:://wiki.videolan.org/AndroidCompile#Get_VLC_Source
(二)编译环境搭建:
(1)建立64-bit Ubuntu 14.04环境
在window7操作系统下通过VMware Workstation(最好使用VMware Workstation10或更高版本)安装64-bit Ubuntu 14.04
选择自动安装即可,系统安装完之后会有一些基本的开发及管理工具如:gcc、 g++、 tar、unzip等,开发过程中缺少工具或者版本太旧等软件版本问题后续可以手动安装解决。
(2)JDK、Android SDK、Android NDK、安装
1)JDK安装
Linux x64 JDK版本下载地址:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk7-downloads-1880260-zhs.html
我这里下载的是JDK7(建议下载JDK6以上版本)jdk-7u75-linux-x64.gz,在/opt/下创建Java路径,
$sudo mkdir /opt/Java
将jdk-7u75-linux-x64.gz拷贝到Java文件夹下之后解压缩即可。
修改用户环境变量:
$ vim ~/.bashrc
在.bashrc最后面添加如下:
export JAVA_HOME=/opt/Java/jdk1.7.0_75
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib/tools.jar:/lib.dt.jar:${JRE_HOME}/lib
$sudo update-alternatives --install /usr/bin/java java /opt/Java/jdk1.7.0_75/bin/java 10
$sudo update-alternatives --install /usr/bin/javac javac /opt/Java/jdk1.7.0_75/bin/javac 10
$sudo update-alternatives --install /usr/bin/jar jar /opt/Java/jdk1.7.0_75/bin/jar 10
$sudo update-alternatives --config java
$sudo update-alternatives --config javac
$sudo update-alternatives --config jar
2)安装Android SDK
SDK tools下载地址:http://developer.android.com/sdk/index.html#Other
在google 官网下载最新的 SDK tools 之后解压缩,我这里解压缩到如下路径:
hbing@ubuntu:~/work/android/tools/android-sdk-linux$ ls
add-ons platforms SDK Readme.txt tools
新下载的SDK 除了tools文件夹之外的所有路径都是空的。
为了能够使用sdk的各个platform的platform-tool工具以及android各个版本对应的platforms还有google的support 库我们要在线安装这些工具
hbing@ubuntu:~/work/android/tools/android-sdk-linux$ ./tools/android update sdk -u -t platform,platform-toosl,extra
由于众所周知的原因我们在线安装成功的概率几乎为零。
解决办法:离线安装android5.0.1(API21)
注:是否需要更高的版本只要查看VLC的源码工程的的build.gradle文件即可,如果此文件中描述的版本较高可以修改此脚本跟编译脚本降低对API的要求,后续编译VLC源码时在说明此问题。
列出SDK中需要的各个工具以及库的下载地址:
(1)Android SDK 主要安装包:sdk tools(如果之前步骤已经可以在官网下载到此处就可以不用在重复下载)
我这里选择下载revision 24.0.2也可以选择下载当前的最新版本
http://dl.google.com/android/android-sdk_r24.0.2-linux.tgz
hbing@ubuntu:~/work/android/tools$tar -xvf android-sdk_r24.0.2-linux.tar
hbing@ubuntu:~/work/android/tools$ ls android-sdk-linux/
add-ons platforms SDK Readme.txt tools
hbing@ubuntu:~/work/android/tools$
以android-sdk-linux/为主要文件夹下载platform-tools工具
下载地址:https://dl-ssl.google.com/android/repository/platform-tools_r22-linux.zip (选择你当前能下载的的最高版本即可不能低于VLC的最低编译要求,否则要修改VLC编译脚本)
解压缩到 android-sdk-linux文件夹的根目录下。
同理下载:build-tools 、platforms 、extras
build-tools:https://dl-ssl.google.com/android/repository/build-tools_r22-linux.zip
platforms :https://dl-ssl.google.com/android/repository/android-22_r01.zip
extras :
1)Android Support Repository(extras/android/m2repository)
https://dl-ssl.google.com/android/repository/android_m2repository_r12.zip
2)Android
Support Library(extras/android/support)
https://dl d409
-ssl.google.com/android/repository/support_r21.0.3.zip
3)Google
Repository(extras/google/m2repository)
https://dl-ssl.google.com/android/repository/google_m2repository_r16.zip
大约需要这些就可以满足编译vlc-android源码的要求。
修改用户环境变量:
$ vim ~/.bashrc
在文件末尾添加
export ANDROID_SDK=/home/hbing/work/android/tools/adt-bundle-linux-x86_64/sdk
3)安装Android NDK
NDK下载地址:http://developer.android.com/tools/sdk/ndk/index.html
在google 官网下载最新版本
Linux 64-bit (x86) | android-ndk-r10d-linux-x86_64.bin |
ndk$ chmod a+x android-ndk-r10d-linux-x86_64.bin ndk$ ./android-ndk-r10d-linux-x86_64.bin
hbing@ubuntu:~/work/android/tools/android-ndk-r10d$ ls
build GNUmakefile ndk-depends ndk-gdb.py ndk-which README.TXT samples toolchains
docs ndk-build ndk-gdb ndk-gdb-py.cmd platforms RELEASE.TXT sources
find-win-host.cmd ndk-build.cmd ndk-gdb-py ndk-stack prebuilt remove-windows-symlink.sh tests
hbing@ubuntu:~/work/android/tools/android-ndk-r10d$
修改用户环境变量:
$
vim ~/.bashrc
在文件末尾添加
export ANDROID_NDK=/home/hbing/work/android/tools/android-ndk-r10d
export PATH=$PATH:${ANDROID_NDK}:${JAVA_HOME}/bin:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
4)验证软件安装情况:
由于是X86_64平台所以此时的adb等工具不能使用,需要安装以下工具
安装必要的软件包: ( 64-bit Ubuntu 14.04)
$ sudo apt-get install bison g++-multilib git gperf libxml2-utils make zlib1g-dev:i386 zip
然后执行
$ sudo source ~/.bashrc
进行测试:
$ java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (IcedTea 2.5.4) (7u75-2.5.4-1~trusty1)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
$ ndk-build --help
Usage: make [options] [target] ...
Options:
……
$adb --help
Android Debug Bridge version 1.0.32
……
编译环境搭建完成。
(三)编译vlc-android源码
(1) 安装编译工具
apache-ant (or ant), autoconf, automake, autopoint, cmake, gawk (or nawk), gcc, g++, libtool, m4, patch, pkg-config, protobuf, ragel, subversion, unzip
注:安装上面所列工具,最好安装上述工具的最新版本,如果上述的软件版本过低在编译过程中会提示版本较低的工具不能被识别或者找不到等错误提示,此时只需要将这些版本过低的工具卸载掉安装最新版本即可。
(2)下载vlc源码
git clone git://git.videolan.org/vlc-ports/android.git
下载完源码之后的目录结构如下:
$ ls android/
android-headers assets compile-libvlc.sh COPYING java-libs NEWS vlc-android
android-libs build.gradle compile.sh gdb.sh libvlc settings.gradle
$
(2)编译(Compile)
sh compile.sh -a <ABI>
可以通过--help命令来查看支持的平台参数如下:
$ sh compile.sh --help
Use -a to set the ARCH:
ARM: armeabi-v7a, armeabi, armeabi-v5, armeabi-nofpu
ARM64: arm64-v8a
X86: x86, x86_64
MIPS: mips, mips64.
Use --release to build in release mode
Use -s to set your keystore file and -p for the password
Use -t to get an AndroidTv build
Use -c to get a ChromeOS build
hbing@ubuntu:~/work/android/project/vlc-android/android$
如果我们执行:
$sh compile.sh
不加 -a 选项默认编译的平台为ARMv7如果想编译x86_64平台则执行如下命令:
$sh compile.sh -a x86_64
我们这里编译ARMv7所以执行如下:
$sh compile.sh
编译过程中会下载N多个工具包跟第三方库,如果提示编译错误大多是由于下载这些库超时或者未能下载成功导致。解决办法:离线下载这些第三方库如:编译过程中需要下载protobuf-2.6.0.tar.bz2未能成功可以事先下载好此包将其拷贝到源码目录如下的两个路径中即可即:
./vlc/extras/tools/protobuf-2.6.0.tar.bz2
./vlc/contrib/tarballs/protobuf-2.6.0.tar.bz2
1)编译依赖的第三方库
编译过程中大约需要下面的这些软件包:
我将这些软件包上传到百度云,下载地址:http://pan.baidu.com/s/10Kd4q
解压缩tarballs.tar.bz2之后将其中的软件包放到/vlc-root-dir/android/vlc/contrib/tarballs 目录下面即可接着进行编译:
2)编译出错处理
当出现如下提示表示编译成功完成:
其中vlc-android目录为vlc的android客户端APP源码工程目录,可以将其导入eclipse中进行修改。
$ ls vlc-android/
AndroidManifest.xml assets build build.gradle proguard.cfg project.properties res src tv
hbing@ubuntu:~/work/android/project/vlc-android/android-arm/android$
生成的APK在此工程的build/outputs/apk/目录下面
$ ls build/outputs/apk/
VLC-Android-1.1.6-ARMv7.apk vlc-android-vanilla-ARMv7-debug-unaligned.apk
此版本是debug版本,如果想要编译release版本只需要在编译的时候指定一个release参数即可。
$sh compile.sh release
至此vlc-android源码编译基本完成!
相关文章推荐
- Ubuntu14.04环境编译vlc源码for安卓Android系统
- Ubuntu14.04环境编译vlc源码for安卓Android系统
- Ubuntu 14.04 64位编译Android4.2.2内核源码goldfish
- ubuntu 14.04系统 Android 4.0.1 源码编译过程
- Ubuntu 14.04 (64位) 编译Android 2.3.5源码
- Ubuntu系统下为Android工程交叉编译基于源码的OpenSSL库
- ubuntu14.04 配置 AOSP(android open source project)android系统源码编译环境
- Ubuntu14.04系统搭建Android源码编译环境
- Ubuntu14.04 Android系统源码编译环境初始化
- VM Ubuntu14.04 64位 编译Android2.3.5源码
- VisualBox ubuntu14.04 64位 android4.4.4源码编译总结
- Ubuntu 10.04(64位)下载并编译 Android 2.2 源码[只有11条命令]
- ubuntu 11.10(32位系统)下编译android源码
- [整]基于ubuntu 10.04(32位机)的Android2.2 源码编译
- ubuntu系统下载编译android源码
- 32位ubuntu系统升级为64位系统,然后编译4.3android源码 很顺利很成功
- android 4.2 源码在64位Ubuntu编译
- ubuntu 11.10(32位系统)下编译android源码
- ubuntu11.10 64bit 系统编译android 源码 错误