VLC - Android 学习笔记(一)
看着怼了一个星期的 vlc-linux 播放器顺利放出了 avs2-ts 的视频激动地老泪纵横。想着好好休息休息准备一下建模和过年,突然又想起了好像还有一个 Android 端没有完成,于是又老老实实坐回了电脑前。因为重装了系统,所以学习笔记第一篇:重新温习一下在Linux 下编译 Android 项目的过程。
学习资料参考:AndroidCompile——VLC 官方引导。
1 环境配置
1.1 基础环境
说到基础环境,原谅我在看到vlc官方的描述的时候不厚道的笑了:
You MUST build on Linux (or OSX if you know what you are doing).
哈哈哈,这句 if you know what you are doing 简直嘲讽...
咳咳,言归正传,想要交叉编译安卓的项目那么 Linux 必然首选,原因:
- 与安卓本质相通
- 更加自由灵活
- 安全,随时重装
- Linux 特有依赖
- 熟悉 Linux 是一个很棒的事情
当然 Win 10 给出的阉割版 Ubuntu 14 也是可以勉强使用的,或者在 Win 下安装 Cygwin 也能达到编译项目的目的,但笔者不建议这样做,因为像我这样的初学者讲真不是很敢动 Win 的 Ubuntu...再者 Cygwin 给我的感觉就像穿着高跟鞋跑步一样...
所以最终我的基础环境:Deepin 15.4 (一个国产Linux,画风很像OSX)
1.2 依赖添加
官网给出了编译需要的 Linux 依赖:
sudo apt-get install automake ant autopoint cmake build-essential libtool patch pkg-config protobuf-compiler ragel subversion unzip git openjdk-8-jre openjdk-8-jdk flex
讲道理直接 copy-run 是可以的,但这里建议还是一个一个安装比较好,安装最后运行一下上面这行代码作为检测。因为这样可以很好的防止因为疏忽漏掉了安装失败的警告。
1.3 Android 编译环境配置
这个相信大家就比较熟悉了,SDK+IDE+NDK一整套大礼包,比较吃空间所以有必要的同学注意一下。
正规SDK下载地址:Android SDK/IDE page && Android NDK page .
很遗憾在我家这俩哪个也打不开...于是找到了一个BDY的资源链接:NDK-需要自取,至于SDK+IDE,有AS最好,没有的话Eclipse也凑合。
下载安装完后记得配置一下环境变量,愿意使用 export 命令的话方法如下:
export ANDROID_SDK=/path/to/android-sdk
export ANDROID_NDK=/path/to/android-ndk
export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
但这样配置完后命令行关闭会自动清空,所以推荐直接把上面几行环境信息写到 /etc/profile 里或者 .bash_profile 里并记得 source 一下,网上找到的教程:Linux环境下如何修改环境变量。
其实如果有 AS 的话只要下载 SDK 就好,其他的可以使用 AS 去下:
AS 安装配置(Ctrl+Alt+S)
Ps: Android Studio安装的NDK默认安装在ANDROID_SDK_HOME/ndk-bundle/下,这里还应该勾选一下 Platform-Tools,第一次忘记了
2 资源Get
到这一步其实就已经完成大半了(环境配置是大头啊),记得刚刚装过的 git 吗,没使用过的小伙伴,走你:Git 入门小游戏。学会使用 git 之后就来 clone 一下我们需要的资源:
git clone https://code.videolan.org/videolan/vlc-android.git
直接打开也可以看到项目的仓库内容。
3 进行编译
3.1 vlc 配置
编译之前首先要把刚刚的一些配置信息告诉 vlc 的项目,就是运行一下 compile.sh 的脚本,他会完成下面两句:
> local.properties
sdk.dir=<SDK path from $ANDROID_SDK>
ndk.dir=<NDK path from $ANDROID_NDK>
3.2 正规编译
然后就是找到自己对应的 ABI Tag:
ABI Tag | Device |
---|---|
armeabi-v7a | Normal (2012-2015 consumer phone or tablet) device |
armeabi-v7a | Tegra2 device |
armeabi | ARMv6 device |
armeabi-nofpu | ARMv6 device that does not support FPU |
armeabi-v5 | ARMv5 device or the Android Emulator |
x86 | x86 device |
mips | MIPS device |
找到后就可以进行编译了:
开发版:sh compile.sh -a <ABI Tag> -l
发行版:sh compile.sh -l release
最后在我们的 Gradle 配置里加上:
> gradle.properties
org.gradle.parallel=true
org.gradle.configureondemand=true
# If you have a BUNCH of RAM available
org.gradle.daemon=true
org.gradle.jvmargs=-Xmx2048M
4 愉快的玩耍
如果上面的步骤都顺利的完成了的话,那么恭喜你,可以在 AS 里与 vlc for android 愉快的玩耍啦~至于打开 vlc 目录后的一通心塞...[捂脸],就留给下一篇笔记吧。