如何在Ubuntu中编译VLC-Android开源项目

环境介绍

在开始之前先介绍我编译所需要的一些环境版本
Ubuntu 18.04.1
Android SDK:
Android NDK:android ndk-r8b
android studio:android-studio-ide-181.5014246-linux
jdk:1.8.0_191

VLC介绍

VLC是一个免费开源的跨平台多媒体播放器和框架,可以播放众多的多媒体文件,DVD、CD、VCD和各种流协议。VLC使用C语言开发,可跨平台编译为其他系统所用;VLC-Android是将VLC编译为Android可调用类库(*.so)的工程。官网建议在Linux下进行编译,由于依赖的工具包很多,并且VLC编译脚本对工具包版本、代码版本都有严格的hash校验,再加上官方说明并不是很照顾新手,所以出现了很多配置问题。
VLC官网:http://www.videolan.org
VLC源码:http://www.videolan.org/vlc/download-sources.html
VLC依赖:ftp://ftp.videolan.org/pub/contrib/http://download.videolan.org/pub/contrib/
VLC框架介绍:http://www.codeweblog.com/the-architecture-of-vlc-media-framework/
VLC-Android编译官方文档:https://wiki.videolan.org/AndroidCompile/

开始编译

1.安装Java JDK

在ubuntu可以直接使用apt-get安装openjdk,环境变量已配好,也可以自己配置oracle 官方版本
可以参考ubuntu安装jdk
但是最后在执行编译vlc-android时候 提示少了tools.jar,可以直接copy一个到对应目录即可解决

2.安装工具包

我们需要安装编译所依赖的环境

sudo apt-get install automake ant autopoint cmake build-essential libtool patch pkg-config protobuf-compiler ragel subversion unzip git

3.安装Android SDK

在这里遇到了一个坑,导致后来编译一直过不去,实在没办法就安装了android studio ,用自带的SDK就可以了。
一开始安装的是官方所给出的SDK 但是编译提示没有target
错误提示
后来就下载了android studio 然后更新了android sdk 并且配置了SDK的环境变量就不会有上面的错误提示了

4.安装Android NDK

下载android-ndk-r18b,这个文件找了好久 ,这里给出下载地址
android-ndk-r18b-linux-x86_64.zip

export ANDROID_SDK=/home/ubuntu/Android/Sdk
export ANDROID_NDK=/home/ubuntu/Documents/tools/android-ndk-r18b
export PATH=$PATH:$ANDROID_SDK:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools
export PATH=$PATH:$ANDROID_NDK

5.开始编译

下载vlc-android代码

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

然后cd vlc-android 执行sh compile.sh 就开始编译,默认编译的是armeabi-v7a

编译过程遇到了几个问题
问题1.就是下载到vlc-android/vlc/contrib/tarballs所依赖的tar.gz 总是不成功 有些可能是网络问题导致 就需要重复执行编译
依赖的包

问题2.提示找不到target
安装了android studio来更新下载SDK 解决

问题3.编译时候找不到jdk 中的tools.jar
复制了一个已经有的jar 就ok了

最后 完美编译并运行
编译成功

运行如图所示

一点感想

编译大概花了2天时间,也是查了一些其他文章,这个过程还是值得去尝试一下,因为编译过程会遇到各种奇怪问题,然后试着针对问题去解决,最终就会成功。
页面左侧二维码是我的公众号 欢迎大家关注,留言,谢谢!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章