Ubuntu下编译Bilibili/ijkplayer
在做Android客户端视频播放器的过程中熟悉ijkplayer。他在视频支持协议上要比Android原生的mediaplayer做的要好。因此,自己也基于Bilibili/ijkplayer的重新编译了一下。
1.准备工作
在Vmware下安装ubuntu这里就不累赘介绍了。
一、查看操作系统是32位的还是64位的
在控制台输入:sudo uname --m
回车后:
如果显示i686,则表示安装了32位操作系统
如果显示 x86_64,则表示安装了64位操作系统
二、NDK下载安装
从上面看到我的系统是32位的
1.下载ndk
https://developer.android.google.cn/ndk/downloads/index.html 目前android-ndk-r14b-linux-x86_64.zip没有32位的。使用64位安装会报错。
android-ndk-r10e-linux-x86.bin 版本 https://dl.google.com/android/ndk/android-ndk-r10e-linux-x86.bin
在ubuntu个人目录下使用
wget -c https://dl.google.com/android/ndk/android-ndk-r10e-linux-x86.bin
进行下载
执行 chmod a+x android-ndk-r10e-linux-x86.bin
#增加执行权限
执行
./android-ndk-r10c-linux-x86_64.bin
#执行bin文件
安装成功后的目录结构为
/home/menggang/Android/ndk/android-ndk-r10e
2.配置PATH路径:
执行 sudo gedit /etc/profile,在文件末尾加入如下内容:
export ANDROID_NDK=/home/menggang/Android/ndk/android-ndk-r10e
export PATH=$PATH:ANDROID_NDK
export ANDROID_SDK=/home/menggang/Android/sdk/android-sdk-linux
export PATH=${PATH}:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools
【保存并退出】
执行 source/etc/profile
#使配置生效
至此 android NDK 安装配置完毕。
3.验证是否安装成功
执行 echo $ANDROID_NDK
#验证配置目录是否正确
执行 $ANDROID_NDK/ndk-build -v
#验证是否安装成功
在个人的目录的.bashrc最后一行加入source /etc/profile
原因:每次重新打开命令窗口需要用到NDK时需要先执行source /etc/profile
三、SDK下载安装
1.下载安装SDK
我的sdk下载目录/home/menggang/Android/sdk
在http://tools.android-studio.org/下载最新的sdk到该目录下
执行 tar -xvzf android-sdk_r24.4.1-linux.tgz
#进行解压安装
2.环境变量配置
同上,将环境变量写入/etc/profile,通过source /etc/profile使配置生效
export ANDROID_SDK=/home/menggang/Android/sdk/android-sdk-linux
export PATH=${PATH}:$ANDROID_SDK/tools:$ANDROID_SDK/platform-tools
3.验证是否安装成功
执行 adb shell
执行 adb -version
#检测是否成功
4.更新sdk
sdk 目录下tools/android 文件没有执行权限。
执行 chmod a+x android添加执行权限。
./android
#即可打开ubuntu android sdk manager
四、openjak的安装
http://ubuntuhandbook.org/index.php/2015/01/install-openjdk-8-ubuntu-14-04-12-04-lts/
1. Open terminal from the Dash or by pressing Ctrl+Alt+T. When it opens, run the command below to add PPA:
sudo add-apt-repository ppa:openjdk-r/ppa

Type in user password when it asks and hit Enter to continue.
2. After that, update system package cache and install OpenJDK 8:
sudo apt-get update
sudo apt-get install openjdk-8-jdk
3. If you have more than one Java versions installed on your system. Run below command set the default Java:
sudo update-alternatives --config java
Type in a number to select a Java version.

And set default Java Compiler by running:
sudo update-alternatives --config javac
4. Finally check out current Java version by running:
java -version
It outputs something like this:
openjdk version "1.8.0_01-internal"
OpenJDK Runtime Environment (build 1.8.0_01-internal-b04)
OpenJDK 64-Bit Server VM (build 25.40-b08, mixed mode)
五、安装一些软件
sudo apt-get update
sudo apt-get install git
sudo apt-get install yasm
六、下载ijkplayer-android
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
七、开始编译
编译可以参考https://github.com/Bilibili/ijkplayer官网的Build Android 模块。编译时间相对漫长。
参考文献:
1.在Ubuntu下编译IjkPlayer-android - 简书
2.小白鼠初试ijkplayer编译(ubuntu) - 简书
3.在ubuntu下编译ijkplayer-android - CSDN博客
Ubuntu下编译Bilibili/ijkplayer的更多相关文章
- 开源播放器 ijkplayer (五) :Linux/Ubuntu 下编译ijkplayer
一.安装Git与yasm sudo apt-get install git sudo apt-get install yasm 二.下载和配置 SDK.NDK SDK一般开发时肯定都有的,NDK一般是 ...
- ubuntu下编译caffe
Ubuntu下编译caffe 纯粹是个人编译的记录.不用CUDA(笔记本是amd卡,万恶的nvidia):不手动编译依赖包(apt-get是用来干啥的?用来直接装二进制包,以及自动解决依赖项的) ca ...
- ubuntu下编译VLC
ubuntu下编译VLC 标签(空格分隔): ubuntu vlc 视频 编译 [TOC] 1.下载VLC源码包并解压 VLC的源码包在VLC的官网有,可以直接下载.也可以使用git来clone一个. ...
- 在Ubuntu下编译wpa_supplicant
最近在研究WiFi联盟的多屏互动协议Miracast,其中需要用到wpa_supplicant,编译中遇到了一些问题,经过一下午的折腾也都解决了,下面分享给各位. 一.编译需要用到三个库源码包,分别是 ...
- 在Ubuntu下编译Assimp库
在Ubuntu下编译Assimp库 怎样在Ubuntu下编译Assimp库?这是我曾经编译成功后做的笔记,供參考. 1.去以下的站点去下载Assimp库: http://assimp.sourcefo ...
- ubuntu下编译java程序
ubuntu下编译java程序 首先需要安装jdk,并配置好相应环境变量 下面以简单的HelloWorld为例 文件名为HelloWorld.java java代码: public class Hel ...
- Ubuntu下编译SHTOOLS
SHTOOLS是使用Fortran语言写的一个专门用于处理球谐函数的一个开源库,更多的介绍请猛戳这里,关于这个库的安装和使用,都在官网上有详细的说明,虽然很详细,但是编译的时候还是比较费劲,下面将我在 ...
- 在Ubuntu下编译hadoop2.5.x
在Ubuntu下编译hadoop2.5.x 参考博客:http://www.aboutyun.com/thread-8130-1-1.html 1 下载hadoop源码: (1) http://www ...
- Ubuntu下编译Poco库
本文主要记录下Ubuntu下编译Poco C++库的配置项以备后用.系统版本:Ubuntu 16.04,1 Poco 版本:1.9.0基本的步骤如下: 1.从官网下载最新的Poco源码,地址是:htt ...
随机推荐
- LVS原理讲解
一.lvs介绍 LVS的英文全名为"Linux Virtual Server",即Linux虚拟服务器,是一个虚拟的四层交换器集群系统,根据目标地址和目标端口实现用户请求转发,本身 ...
- 学web前端开发写给新手的建议,超实用!
01 前面的话 如今我们使用的互联网,客户端与服务器端的交互无时无刻不在发生.比如我们在浏览器打开网页,浏览器就是客户端,将网页数据发过来的也就是服务器.其实服务器,并没有什么特别的,也就是一台昼夜不 ...
- Java基础总结--数组
---数组的定义---组织存储一组数据1.存放相同类型数据的集合--就是一种容器本质上变量也是一种容器--区别就是只存储了一个数据的容器--面对容器,而不是分散的数据eg.买一盘鸡蛋--蛋托其实就是容 ...
- 读书笔记-你不知道的JS上-函数作用域与块作用域
函数作用域 Javascript具有基于函数的作用域,每声明一个函数,都会产生一个对应的作用域. //全局作用域包含f1 function f1(a) { var b = 1; //f1作用域包含a, ...
- 微信小程序用setData修改数组或对象中的一个属性值
在page中有如下数组 data: { info:[ { name:"yuki", tou:"../img/head.jpg", zGong:130, gMon ...
- poj 3484 Showstopper
Showstopper Time Limit: 1000MS Memory Limit: 65536K Total Submissions: 2236 Accepted: 662 Descri ...
- Color the Ball(懵逼题)
Color the Ball Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Tota ...
- 手工搭建ABP框架(1) - Web项目
为了防止不提供原网址的转载,特在这里加上原文链接: http://www.cnblogs.com/skabyy/p/7295533.html ABP是 ASP.NET Boilerplate Proj ...
- CUDA C Best Practices Guide 在线教程学习笔记 Part 2
10. 执行配置优化 ● 一个 SM中,占用率 = 活动线程束的数量 / 最大可能活动线程束的数量.后者保存在设备属性的 maxThreadsPerMultiProcessor 分量中(GTX10 ...
- 在jsp提交表单的参数封装到一个方法里
建议去看一下孤傲苍狼写的Servlet+JSP+JavaBean开发模式(http://www.cnblogs.com/xdp-gacl/p/3902537.html), 最好把他JavaWeb学习总 ...