一、编译前须知
1.参考官方文档:https://wiki.videolan.org/AndroidCompile/
2.必须要在Linux环境下
3.我使用的是ubuntu
二、编译前安装开发工具
1.Linux操作系统,我选择的是在windows下通过virtualbox虚拟机安装ubuntu。
安装方法:virtualbox中安装ubuntu
2.Linux编译需要的开发工具
1)sudo apt-get install automake ant autopoint cmake build-essential libtool
patch pkg-config protobuf-compiler ragel subversion unzip git
2)如果是64位ubuntu,为了防止后面少走弯路,需要安装32位的库
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install zlib1g:i386 libstdc++6:i386 libc6:i386
3)SDK安装
SDK下载注意:最好下载比较新的sdk
参考我的博客:ubuntu下安装SDK
4)NDK安装
NDK下载注意:官方的文档可能有点老了,官方说是NDK r10e,但是经过后面编译发现最低要ndk r11c
下载地址:https://developer.android.com/ndk/downloads/index.html
如果无法访问google,可以参照 ubuntu安装*访问google,也可以通过国内服务器镜像 http://www.androiddevtools.cn/
解压并修改相关权限
unzip android-ndk-r11c-linux-x86-64.zip
sudo chmod -R 777 android-ndk-r11c
配置一下环境变量
sudo gedit /etc/profile
export PATH=$PATH:/ndk的路径/
sudo source /etc/profile
三、编译前的环境变量配置
1) sdk ndk
export ANDROID_SDK=/你的sdk路径/
export ANDROID_NDK=/你的ndk路径/
export PATH=$PATH:$ANDROID_SDK/platform-tools:$ANDROID_SDK/tools
2) 设备类型
注意:这个地方,官网上没有给出说明,如果不设置,编译的时候会提示
NO ANDROID_ABI,默认使用armeabi-v7a
ARMv7设备,需要export ANDROID_ABI=armeabi-v7a
ARMv6设备,需要export ANDROID_ABI=armeabi
ARMv6设备,不支持FPU的,需要 export ANDROID_ABI=armeabi; export NO_FPU=1
还有很多,mips x86,等等
四、下载源码
git clone https://code.videolan.org/videolan/vlc-android.git
如果是想下载某个分支版本请去gitLab, https://code.videolan.org/videolan/vlc-android/branches
五、执行编译
1)确保网络质量很好
2)确保可以访问google,有些东西需要去国外下载,比如build.gradle,update sdk等等
3)进入vlc-android,执行 sh compile.sh, 如果一切顺利就完成了,但是一般问题会很多
六、我遇见的问题
1)中途有很多包无法下载,不知道原因
ibmpeg2-0.5.1.tar.gz、openjpeg-1.5.0.tar.gz等等,我就不一一列举,此时注意看错误报告,会有出现在那个目录下下载按个包失败,比如上面的会在./vlc/contrib/tarballs目录下,那么我们就去手动下载,然后放到此目录就可以了,重新执行 sh compile.sh
2) ndk版本太低,官网说是ndk-r10e,但是发现后面编译中途报错,说最低需要ndk-r11
3) automake 报错,官网默认下载的是automake1.14,但是最后有些依赖的东西需要automake1.15
找到上面那两个目录把出现automake1.14的地方该成1.15然后重新编译
4)我的编译还是蛮顺利的,其他问题很少,如果出现其他问题,请去官网查看troubleshooting
7、成功截图