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

vlc播放器最新版本(编译VLC-Android版本定制自己的电视播放器)(1)

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

开发环境

系统

ubuntu-18.04.2-desktop-amd64.iso

Java环境:

openjdk version "1.8.0_222"

OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~18.04.1-b10)

OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

NDK:

android-ndk-r20

ANDROID-SDK

android-sdk_r24.4.1-linux

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

配置环境变量

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

Java环境变量安装

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

sudo add-apt-repository ppa:webupd8team/java sudo apt-get update sudo apt-get install oracle-java8-installer

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

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

openjdk version "1.8.0_222"

OpenJDK Runtime Environment (build 1.8.0_222-8u222-b10-1ubuntu1~18.04.1-b10)

OpenJDK 64-Bit Server VM (build 25.222-b10, mixed mode)

ANDROID环境配置

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

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

vi ~/.bashrc

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

#配置ndk

ANDROID_NDK=/home/leeming/android-ndk-r20

export ANDROID_NDK

# 加入到PATH路径

PATH=${PATH}:${ANDROID_NDK}

#配置sdk

export ANDROID_SDK=/home/leeming/android-sdk_r24.4.1-linux/android-sdk-linux

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

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

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

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

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

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

vlc播放器最新版本(编译VLC-Android版本定制自己的电视播放器)(2)

git环境安装与配置

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

sudo apt-get install git

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

git config --global user.name "liangyiming"

git config --global user.email "414993367@qq.com"

交叉编译环境安装

sudo apt-get install automake ant autopoint cmake build-essential libtool-bin \ patch pkg-config protobuf-compiler ragel subversion unzip git \ openjdk-8-jre openjdk-8-jdk flex python wget

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

sudo apt install glibc

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

在控制台输入

git clone https://code.videolan.org/videolan/vlc-android.git

等待下载完毕,

然后cd vlc-android目录

可以看到各种文件

vlc播放器最新版本(编译VLC-Android版本定制自己的电视播放器)(3)

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

打开compile-libvlc.sh,找到这么一段话

if [ "$REL" -eq 18 ]; then

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

ANDROID_API=21

else

ANDROID_API=17

fi

else

echo "NDK v18 needed, cf. https://developer.android.com/ndk/downloads/"

exit 1

fi

将原来的18改成20

if [ "$REL" -eq 20 ]; then

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

ANDROID_API=21

else

ANDROID_API=17

fi

else

echo "NDK v18 needed, cf. https://developer.android.com/ndk/downloads/"

exit 1

fi

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

buildscript {

ext.android_plugin_version = '3.4.2'

ext.kotlin_version = '1.3.41'

ext.kotlinx_version = '1.2.2'

repositories {

flatDir dirs: "gradle/plugins"

google()

jcenter()

}

dependencies {

classpath "com.android.tools.build:gradle:$android_plugin_version"

classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.8.4'

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

classpath 'com.github.dcendents:android-maven-gradle-plugin:2.1'

}

}

allprojects {

repositories {

google()

jcenter()

}

}

硬件配置:

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

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

vlc播放器最新版本(编译VLC-Android版本定制自己的电视播放器)(4)

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

git config --global http.postBuffer 524288000

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

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

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

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

vlc播放器最新版本(编译VLC-Android版本定制自己的电视播放器)(5)

编译vlc-android就讲到这里,如果需要转载,请注明来自头条:一点热

,