视频编码学习之路822思享实验室

VLC - Android 学习笔记(一)

2018-02-03  本文已影响138人  团不慌

看着怼了一个星期的 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 必然首选,原因:

当然 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 目录后的一通心塞...[捂脸],就留给下一篇笔记吧。

上一篇下一篇

猜你喜欢

热点阅读