现在越来越多的电视是使用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$./
这个时候,等待编译完毕,编译完毕结果如下: