在做Android客户端视频播放器的过程中熟悉ijkplayer。他在视频支持协议上要比Android原生的mediaplayer做的要好。因此,自己也基于Bilibili/ijkplayer的重新编译了一下。

1.准备工作

在Vmware下安装ubuntu这里就不累赘介绍了。

一、查看操作系统是32位的还是64位的

在控制台输入:sudo uname --m

回车后:

如果显示i686,则表示安装了32位操作系统

如果显示 x86_64,则表示安装了64位操作系统

图一:ubuntu系统位数

二、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

进行下载

图2:下载和安装的目录

执行 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

图3:环境变量配置

【保存并退出】

执行  source/etc/profile 

#使配置生效

至此 android NDK 安装配置完毕。

3.验证是否安装成功

执行   echo $ANDROID_NDK

#验证配置目录是否正确

执行  $ANDROID_NDK/ndk-build -v

#验证是否安装成功

图4:验证是否NDK是否配置成功

在个人的目录的.bashrc最后一行加入source /etc/profile

原因:每次重新打开命令窗口需要用到NDK时需要先执行source /etc/profile

图5:配置终端过程

三、SDK下载安装

1.下载安装SDK

我的sdk下载目录/home/menggang/Android/sdk

在http://tools.android-studio.org/下载最新的sdk到该目录下

执行 tar -xvzf android-sdk_r24.4.1-linux.tgz

#进行解压安装

图6:sdk安装

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博客

4.GitHub - Bilibili/ijkplayer: Android/iOS video player based on FFmpeg n3.3, with MediaCodec, VideoToolbox support.

Ubuntu下编译Bilibili/ijkplayer的更多相关文章

  1. 开源播放器 ijkplayer (五) :Linux/Ubuntu 下编译ijkplayer

    一.安装Git与yasm sudo apt-get install git sudo apt-get install yasm 二.下载和配置 SDK.NDK SDK一般开发时肯定都有的,NDK一般是 ...

  2. ubuntu下编译caffe

    Ubuntu下编译caffe 纯粹是个人编译的记录.不用CUDA(笔记本是amd卡,万恶的nvidia):不手动编译依赖包(apt-get是用来干啥的?用来直接装二进制包,以及自动解决依赖项的) ca ...

  3. ubuntu下编译VLC

    ubuntu下编译VLC 标签(空格分隔): ubuntu vlc 视频 编译 [TOC] 1.下载VLC源码包并解压 VLC的源码包在VLC的官网有,可以直接下载.也可以使用git来clone一个. ...

  4. 在Ubuntu下编译wpa_supplicant

    最近在研究WiFi联盟的多屏互动协议Miracast,其中需要用到wpa_supplicant,编译中遇到了一些问题,经过一下午的折腾也都解决了,下面分享给各位. 一.编译需要用到三个库源码包,分别是 ...

  5. 在Ubuntu下编译Assimp库

    在Ubuntu下编译Assimp库 怎样在Ubuntu下编译Assimp库?这是我曾经编译成功后做的笔记,供參考. 1.去以下的站点去下载Assimp库: http://assimp.sourcefo ...

  6. ubuntu下编译java程序

    ubuntu下编译java程序 首先需要安装jdk,并配置好相应环境变量 下面以简单的HelloWorld为例 文件名为HelloWorld.java java代码: public class Hel ...

  7. Ubuntu下编译SHTOOLS

    SHTOOLS是使用Fortran语言写的一个专门用于处理球谐函数的一个开源库,更多的介绍请猛戳这里,关于这个库的安装和使用,都在官网上有详细的说明,虽然很详细,但是编译的时候还是比较费劲,下面将我在 ...

  8. 在Ubuntu下编译hadoop2.5.x

    在Ubuntu下编译hadoop2.5.x 参考博客:http://www.aboutyun.com/thread-8130-1-1.html 1 下载hadoop源码: (1) http://www ...

  9. Ubuntu下编译Poco库

    本文主要记录下Ubuntu下编译Poco C++库的配置项以备后用.系统版本:Ubuntu 16.04,1 Poco 版本:1.9.0基本的步骤如下: 1.从官网下载最新的Poco源码,地址是:htt ...

随机推荐

  1. 简述Apache的ab测试主要有那些关键指标

    一.ab的原理 ab是apachebench命令的缩写. ab的原理:ab命令会创建多个并发访问线程,模拟多个访问者同时对某一URL地址进行访问.它的测试目标是基于URL的,因此,它既可以用来测试ap ...

  2. SpringMVC 配置

    1.在WEB-INF\web.xml中定义前端控制器 <servlet> <servlet-name>springmvc</servlet-name> <se ...

  3. C# AOP 面向切面编程之 调用拦截

    有时候我们需要在代码中对方法调用进行拦截,并修改参数和返回值,这种操作叫做AOP(面向切面编程) 不过需要注意的是,AOP的效率很慢,在需要高效率场合慎用. 以下是C#的AOP方法: 首先建立一个控制 ...

  4. LeetCode 476. Number Complement (数的补数)

    Given a positive integer, output its complement number. The complement strategy is to flip the bits ...

  5. Eclipse+Spring+SpringMVC+Maven+Mybatis+MySQL+Tomcat项目搭建

    ---恢复内容开始--- 1. 建表语句及插入数据 CREATE TABLE `book_user` ( user_id INT(11) NOT NULL AUTO_INCREMENT, user_n ...

  6. 【Salvation】——登录注册存储数据&验证用户

    写在前面:登录注册功能是在纯Unity3D环境内实现的,用到UGUI绘制界面技术,数据库的部分是后面拓展加进来的,这里数据存储是指存在XML用户文件中. 注册用户名和密码 zc() 用户名和密码登录 ...

  7. shell 组合新的变量名

    shell 组合新的变量名 普通变量 name=yushuang var=name # 要获取到yushuang res=`eval echo '$'"$var"` echo $r ...

  8. RxSwift 对 MJRefresh 使用的封装

    对于一个很常用的两个库, MJRefresh 如何可以像 UIButton 使用方式呢: btn.rx.tap.subscribe(...) Rxswift 中的很多类似处理的方式都使用了跟下面极为相 ...

  9. 在ssm框架中前后台数据交互均使用json格式

    前后台数据交互均使用json. 框架ssm(spring+springmvc+mybatis) @RequestBody注解实现接收http请求的json数据,将json数据转换为java对象,注解加 ...

  10. 【转载】以Java的视角来聊聊SQL注入

    以Java的视角来聊聊SQL注入 原创 2017-08-08 javatiku Java面试那些事儿 在大二就接触过sql注入,之前一直在学习windows逆向技术,认为web安全以后不是自己的从业方 ...