现在越来越多的电视是使用Android系统,如果我们想使用自己的播放器,可以使用vlc来编译自己的播放器,实现定制开发。

我们如果要编译vlc-android版本,需要在Linux环境下,这里建议使用ubuntu系统。不然可能会出现很多错误,导致无法编译下去

开发环境

系统:

Java环境:

openjdkversion"1.8.0_222"

OpenJDKRuntimeEnvironment(_222-8u222-b10-1ubuntu1~18.04.1-b10)

OpenJDK64-BitServerVM(,mixedmode)

NDK:

android-ndk-r20

ANDROID-SDK

android-sdk_

这里建议大家使用ubuntu18的版本

配置环境变量

我们首先需要配置环境变量,这样到时编译程序才能够直接执行指令。

Java环境变量安装

由于Ubuntu本身是安装有Javajdk的,不过这个版本比较低,由于我们的jdk需要jdk8以上的,那么我们需要重新安装一下这个环境,具体操作如下:

sudoadd-apt-repositoryppa:webupd8team/javasudoapt-getupdatesudoapt-getinstalloracle-java8-installer

这个时候可以检查一下java环境是否安装成功了

java-version,如果输入类似如下信息即可

openjdkversion"1.8.0_222"

OpenJDKRuntimeEnvironment(_222-8u222-b10-1ubuntu1~18.04.1-b10)

OpenJDK64-BitServerVM(,mixedmode)

ANDROID环境配置

首先登录Android官网,下载androidsdk和ndk,版本使用我上面提供的这个。

打开控制台,输入如下指令:

vi~/.bashrc

再末端输入如下配置内容,主要包含了ndk的路径,Android的SDK的路径。

加入到PATH路径

PATH=${PATH}:${ANDROID_NDK}

VLC编译脚本只认$ANDROID_SDK环境变量

exportPATH=$PATH:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools

输入:wq,将内容保存,退出编辑环境

使修改的内容生效,控制台输入source/etc/profile

这个时候可以测试一下Android环境是否正确配置,输入

android,如果此时弹出SD安装包即可。如下图

git环境安装与配置

由于我们需要下载vlc-android的源码,所以需要安装git以及配置git的账号与邮箱

sudoapt-getinstallgit

中途由于会检查你的git账号,所以我们需要配置一下git的用户名以及邮箱,具体命令如下,这个内容可以随便填写

"liangyiming"

"414993367@"

交叉编译环境安装

sudoapt-getinstallautomakeantautopointcmakebuild-essentiallibtool-bin\patchpkg-configprotobuf-compilerragelsubversionunzipgit\openjdk-8-jreopenjdk-8-jdkflexpythonwget

如果编译的过程中,出现glibc相关的错误:可以安装glibc工具

sudoaptinstallglibc

这个时候,我们需要检查一下我们的vlc-Android源码

在控制台输入

gitclone

等待下载完毕,

然后cdvlc-android目录

可以看到各种文件

此时,可以需要配置我们的编译环境与vlc的默认环境修改成一致的,

打开,找到这么一段话

if["$REL"-eq18];then

if["${HAVE_64}"=1];then

ANDROID_API=21

else

ANDROID_API=17

fi

else

echo"NDKv18needed,cf."

exit1

fi

将原来的18改成20

if["$REL"-eq20];then

if["${HAVE_64}"=1];then

ANDROID_API=21

else

ANDROID_API=17

fi

else

echo"NDKv18needed,cf."

exit1

fi

由于网络的原因,可能导致部分插件无法下载,我们这里还需要将的配置修改一下,这里不一定能成功,如果不成功,可以加上代理,此外还可以在jcenter()加上maven("")的方式尝试。

buildscript{

_plugin_version='3.4.2'

_version='1.3.41'

_version='1.2.2'

repositories{

flatDirdirs:"gradle/plugins"

google()

jcenter()

}

depencies{

classpath":gradle:$android_plugin_version"

classpath':gradle-bintray-plugin:1.8.4'

classpath":kotlin-gradle-plugin:$kotlin_version"

classpath':android-maven-gradle-plugin:2.1'

}

}

allprojects{

repositories{

google()

jcenter()

}

}

硬件配置:

我这里是使用虚拟机的环境来编译的,期间也出现很多莫名其妙的问题,主要是内容不足,传输容量不足等。

为了能够正常编译环境,这里建议大家使用2-4G内存,处理器4核心,硬盘空间40G,这个一定要注意。

如果在git传输出现buffer错误,可以将容量提升,具体指令如下:

这个时候,可以进行编译了。由于编译的过程中还会下载vlc的源码,所以过程比较久,如果中途出现下载不了,基本是网络访问慢或者是不能访问的原因导致的。这个需要具体问题具体分析。

我们在控制台进行操作./

leeming@ubuntu:~/Desktop/vlc-android$./

这个时候,等待编译完毕,编译完毕结果如下: