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

android studio 相关说明 | 2018-12-27 09:39

在开始之前先介绍我编译所需要的一些环境版本Ubuntu 18.04.1Android SDK:Android NDK:android ndk-r8bandroid studio:android-studio-ide-181.-linuxjdk:1.8.0_191……

VLC是一个免费开源的跨平台多媒体播放器和框架,可以播放众多的多媒体文件,DVD、CD、VCD和各种流协议。VLC使用C语言开发,可跨平台编译为其他系统所用;VLC-Android是将VLC编译为Android可调用类库(*.so)的工程。官网建议在Linux下进行编译,由于依赖的工具包很多,并且VLC编译脚本对工具包版本、代码版本都有严格的hash校验,再加上官方说明并不是很照顾新手,所以出现了很多配置问题。VLC官网: VLC源码:/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/

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

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

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

在这里遇到了一个坑,导致后来编译一直过不去,实在没办法就安装了android studio ,用自带的SDK就可以了。一开始安装的是官方所给出的SDK 但是编译提示没有target

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

export ANDROID_SDK=/home/ubuntu/Android/Sdkexport ANDROID_NDK=/home/ubuntu/Documents/tools/android-ndk-r18bexport PATH=$PATH:$ANDROID_SDK:$ANDROID_SDK/tools:$ANDROID_SDK/platform-toolsexport PATH=$PATH:$ANDROID_NDK5.开始编译下载vlc-android代码

然后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天时间,也是查了一些其他文章,这个过程还是值得去尝试一下,因为编译过程会遇到各种奇怪问题,然后试着针对问题去解决,最终就会成功。