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 ...
随机推荐
- linux下svn的安装与配置
---恢复内容开始--- linux下svn的安装与配置 Linux发行版本:CentOS6.5 1.安装subversion sudo yum -y install subversion 2.创建s ...
- Windows删除文件时找不到该项目
当在Windows删除文件时出现找不到该项目或者显示该文件不在磁盘中,可以尝试以下方法: 在要删除文件的同级目录下 新建一文本文档,将下列代码复制到文档中,将文档保存为后缀名为.bat的文档(名字随意 ...
- Windows下使用nginx搭建反向代理服务器
反向代理(Reverse Proxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时 ...
- idea中的汉语注释出现乱码的解决方案
日记 - idea中的汉语注释出现乱码的解决方案 我是个idea的忠实用户,新公司的项目都是用eclipse做的,通过svn拉下代码后发现,注释的内容里,中文内容都是乱码.问过项目负责人,说可能是GB ...
- swift 之 mustache模板引擎
用法: Variable Tags {{name}} 用来渲染值name datas: let data = ["value": "test"] ------- ...
- 读书笔记-你不知道的JS中-函数生成器
这个坑比较深 可能写完我也看不懂(逃 ES6提供了一个新的函数特性,名字叫Generator,一开始看到,第一反应是函数指针?然而并不是,只是一个新的语法. 入门 简单来说,用法如下: functio ...
- R语言高性能编程,优化(一)
这段时间学习了<R高性能编程>这本书,基于这段时间做的项目实践,总结了一些自己的体会,和大家分享 一.为什么R程序有时候会很慢?1.计算性能的三个限制条件 cpu ram io R代码本身 ...
- js中的浅复制和深复制
浅复制:浅复制是复制引用,复制后的引用都是指向同一个对象的实例,彼此之间的操作会互相影响 深复制:深复制不是简单的复制引用,而是在堆中重新分配内存,并且把源对象实例的所有属性都进行新建复制,以保证深复 ...
- Python爬虫入门:爬虫基础了解
有粉丝私信我想让我出更基础一些的,我就把之前平台的copy下来了,可以粗略看一下,之后都会慢慢出. 1.什么是爬虫 爬虫,即网络爬虫,大家可以理解为在网络上爬行的一直蜘蛛,互联网就比作一张大网,而爬虫 ...
- ab使用命令
ab使用-A auth-username:password 向服务器提供基本认证信息.用户名和密码之间":"分割,以base64编码形式发送.无论服务器是否需要(即是否发送了 ...