编译vlc源码,历时好几天,呕心沥血,发现其实也是很简单,当然有些坑。如今,编译大业已成功,将详细记录复述出来,希望对大家有所帮助。
环境:ubuntu 16.04.3 64位
一、安装jdk
官网:http://www.oracle.com/technetwork/java/javase/downloads/index.html
注册个账户就可以下载,我下载的是1.8.0_144版本。
网上有很多jdk下载方法,在此就不再赘述。将下载好的jdk-8u144-linux-x64.tar.gz放入ubuntu环境,按照一下方法配置:
tar -zxvf jdk-8u144-linux-x64.tar.gz; //解包
sudo vi /etc/profile //打开文件
//在文件最后添加如下几句话
export JAVA_HOME=/your jdk path/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=$JAVA_HOME/lib/
source /etc/profile //刷新
此时jdk已经配置好了,你可以使用 java –version 命令检查一下jdk是否安装成功。
二、安装sdk
官网:http://developer.android.com/sdk/index.html (需要翻墙)
http://www.androiddevtools.cn/ (不需翻墙)
我下载的是24.4.1版本。
按照以下方法配置:
tar -xvf android-sdk_r24.4.1-linux.tar //解包
sudo vi /etc/profile //打开文件
//在文件最后添加以下几句话
export ANDROID_HOME=/your sdk path/android-sdk-linux
export PATH=$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools:$PATH
source /etc/profile
此时sdk就配置好了,使用 android list target 命令检查是否安装成功。
三、安装ndk
官网:https://developer.android.google.cn/ndk/downloads/index.html (需要翻墙)
http://www.androiddevtools.cn/ (不需要翻墙)
我下载使用的是14版本,因为在compile-libvlc.sh有指定版本,可根据你手上脚本指定版本下载。
按照以下方法配置:
unzip android-ndk-r14b-linux-x86_64.zip //解压
sudo vi /etc/profile //打开文件
//在文件最后添加以下几句话
export PATH=/your ndk path/android-ndk-r14b:$PATH
source /etc/profile //刷新
此时ndk就配置好了,你可以使用 ndk-build –version 命令检查是否安装成功。
四、安装必要的工具
sudo apt-get install automake ant autopoint cmake build-essential \
libtool patch pkg-config protobuf-compiler \
ragel subversion git
五、下载vlc编译工具
使用以下命令从官网克隆:
git clone https://code.videolan.org/videolan/vlc-android.git
这个网址在国内会被限速,可以使用jw服务器。因为官网会不定时更新,在这我就不把我自己下好的放上来了,哪位同学想要可以跟我联系。
六、下载源码
使用以下命令从官网克隆:
cd vlc-android //进入刚刚克隆好的目录
git clone http://git.videolan.org/git/vlc.git vlc //开始克隆
在vlc-android根目录下,有个compile.sh脚本。在开始编译的时候要执行这个脚本,其实会自动下载,但会限速下载失败。另外,大家一定要去脚本指定网址下载,因为不用版本编译方式不一样,使用其他版本源码会导致很多错误。可自行下载后,放入vlc-android目录。大概400M多一点,我编译完成后发现我现在的源码是3.12版本的。
七、编译
现在可以开始编译了,但是因为在整个编译过程中需要不断下载东西,经常会下载失败。我将我单独下好的文件放在这里,大家自取。
https://download.csdn.net/download/linux_qian/10582089
https://download.csdn.net/download/linux_qian/10582083
https://download.csdn.net/download/linux_qian/10582107
有几个资料上传失败了,有需要可以跟我要。
现在可以进入vlc-android路径,执行./compile.sh脚本。在下载失败的地方,找到脚本对应位置,将文件放入对应路径。
在compile.sh脚本执行到 CLI=”” ./gradlew
TARGET即调用根路径gradlew脚本最后一条命令exec"
T
A
R
G
E
T
即
调
用
根
路
径
g
r
a
d
l
e
w
脚
本
最
后
一
条
命
令
e
x
e
c
"
JAVACMD” “$@”失败
报错:Error:resource android:style/TextAppearance.Material.Widget.Button.Borderless.Colored not found
解决方案:修改vlc-android/vlc-android 路径下build.gradle文件中compileSdkVersion 版本 我是改成了26 ,编译成功。
过程写的也许不够详细,其实主要的问题就在下载这块,根据log信息基本都能解决。如果还有问题,可以一起探讨。接下来,我将修改源码做出公司的产品,研究过后再更有关vlc源码的博客,谢谢大家。