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 ...
随机推荐
- Windows Server 2008通过计划任务定时执行bat文件
前段时间在Windows Server 2008安装了一套基于MySQL数据库的软件,处于数据安全的考虑,希望每天能够自动进行数据库备份.我在别人脚本的基础上自己写了一个数据库备份的bat脚本,双击该 ...
- LeetCode 11. Container With Most Water (装最多水的容器)
Given n non-negative integers a1, a2, ..., an, where each represents a point at coordinate (i, ai). ...
- 服务端事件EventSource揭秘
服务端推 服务端推,指的是由服务器主动的向客户端发送消息(响应).在应用层的HTTP协议实现中,"请求-响应"是一个round trip,它的起点来自客户端,因此在应用层之上无法实 ...
- trait与policy模板技术
trait与policy模板技术 我们知道,类有属性(即数据)和操作两个方面.同样模板也有自己的属性(特别是模板参数类型的一些具体特征,即trait)和算法策略(policy,即模板内部的操作逻辑). ...
- 胜利大逃亡(续)(bfs+状态压缩)
胜利大逃亡(续) Time Limit: 4000/2000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) Total Subm ...
- Shuffle过程的简单介绍
Shuffle是连接Map和Reduce的桥梁 Shuffle分为Map端的Shuffle和Reduce端的Shuffle Map端的shuffle 1输入数据和执行任务: 分片后分配Map任务,每个 ...
- 可点击的icon按钮 无障碍 ARIA 可访问性
最简单: <input type="image" src="email.png" width="14" height="14 ...
- Cache 和 Buffer 都是缓存,主要区别是什么?
存储器的高速缓冲存储器存储了频繁访问的RAM位置的内容及这些数据项的存储地址.当处理器引用存储器中的某地址时,高速缓冲存储器便检查是否存有该地址.如果存有该地址,则将数据返回处理器;如果没有保存该地址 ...
- 最小k个数
题目 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 思考 方法0: 直接排序然后返回前k个,最好的时间复杂度为 O(nlo ...
- [eclipse相关] eclipse 安装svn插件
最近看到别人带主题的eclipse,非常羡慕,所以也换了一个eclipse,版本是java ee luna 4.4.2,然后得偿所愿有了花花绿绿的代码界面:) 但是差点被svn搞死,~~~~(> ...