环境介绍

在开始之前先介绍我编译所需要的一些环境版本
Ubuntu 18.04.1
Android SDK:
Android NDK:android ndk-r18b
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天时间,也是查了一些其他文章,这个过程还是值得去尝试一下,因为编译过程会遇到各种奇怪问题,然后试着针对问题去解决,最终就会成功。
页面左侧二维码是我的公众号 欢迎大家关注,留言,谢谢!

如何在Ubuntu中编译VLC-Android开源项目相关推荐

  1. 编译 android 内核,编译内核  |  Android 开源项目  |  Android Open Source Project

    本页详细介绍了如何仅编译内核.以下说明假设您尚未下载整个 AOSP:如果您已完成下载,则可以跳过 git clone 对应的步骤,但下载内核源代码的步骤除外. 本部分中的所有示例均使用 hikey 内 ...

  2. 从零开始,手把手教你如何在Ubuntu下编译VLC-Android源码

    前言 公司项目中使用的libvlcjni.so库文件,有点老,对Android 6.0+系统兼容性太差了,当程序运行在Android6.0+系统上时,回弹出警告框,提示libvlcjni.so:tex ...

  3. GitHub 优秀的 Android 开源项目 淘宝技术牛p博客整理开发中最常用的GitHub上 优秀的 Android 开源项目整理(精品)...

    原文地址为http://www.trinea.cn/android/android-open-source-projects-view/,作者Trinea 主要介绍那些不错个性化的View,包括Lis ...

  4. 如何在Ubuntu中修改默认程序

    简介: 这个新手指南会向你展示如何在 Ubuntu Linux 中修改默认程序对于我来说,安装 VLC 多媒体播放器是安装完 Ubuntu 16.04 该做的事中最先做的几件事之一.为了能够使我双击一 ...

  5. FFmpeg 在ubuntu 中编译出so

    注:我实在Ubuntu中编译的,配置ndk环境 ,可参考我的另一个文章:http://www.cnblogs.com/x-bing/p/5394496.html 1.到FFmpeg官方网站http:/ ...

  6. Android开源项目以及开源库集合(持续更新中)

    UI Awesome-MaterialDesign – MaterialDesignCenter改名为Awesome-MaterialDesign,优化了布局,新增了不少库. awesome-andr ...

  7. linux动画制作软件,如何在Ubuntu中安装2D动画软件OpenToonz

    OpenToonz,开源2D动画软件,现在可以通过Snap软件包轻松安装在Ubuntu 16.04,Ubuntu 18.04及更高版本中. OpenToonz基于Toonz Studio Ghibli ...

  8. GitHub中Android开源项目及库汇总

    几个常用网站: github排名: https://github.com/trending , github搜索: https://github.com/search codeKK   :    ht ...

  9. 转载GitHub中Android开源项目及库汇总

    转自:https://blog.csdn.net/u013472738/article/details/78153077 几个常用网站: github排名: https://github.com/tr ...

最新文章

  1. 基于机器视觉的缺陷检测的原理与方法
  2. c#开发中程序集调用时容易忽略的问题
  3. Collections.toMap 报错 空指针 key重复
  4. android往天气接口里面传城市,Android使用中国天气网API数据通过城市名称获取天气情况...
  5. 资源 | 深度学习课程入门与介绍
  6. python线程的互斥锁
  7. 跨境移动互联网的魅力演绎,hao123无论成就下一个条目?
  8. 设计一个简易的有道词典
  9. 又出现*_limited.sof的问题了,还有另一个奇怪的现象!
  10. 【Vue】VSCode搭建Vue项目
  11. 阿里云操作系统——飞天(Apsara)
  12. macOS safari安装第三方插件
  13. Python案例笔记 | 用python制作二维码
  14. 小米路由器 安装mysql_小米路由器安装和设置方法(图文教程)
  15. 洛谷刷题C语言:距离函数、闰年展示、计算阶乘、猴子吃桃、培训
  16. MongoDB 存放图片
  17. Debian在vi编辑器里方向键变ABCD,退格键失效
  18. 大事情!中国限制 AI 算法出口。网友:这是要阻止XX“下跪”
  19. 抖音死亡计算机背景音乐,抖音死亡计算器app
  20. 【高考志愿】计算机专业志愿填报指南

热门文章

  1. html表单制作教案,【网页设计教案】HTML中表格的制作.doc
  2. php中文网熊掌号,wordpress自动如何接入熊掌号
  3. C++17之随机数生成器
  4. 现在paypal怎么提现?
  5. 大学计算机专业核显和集显,分不清核显和独显?一分钟带你了解清楚
  6. 照片如何变漫画图片?其实只需要这三个软件
  7. 微信公众账号后台怎么解除小程序_微信小程序 后台登录(非微信账号)实例详解...
  8. C语言课设学生考勤系统(大作业)
  9. 微信公众号 小程序 开放平台是什么鬼
  10. 量子计算机是3进制,量子计算有多快?二进制需要十万年的计算量子计算3分钟就能完成...