在做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. uva 10118,记忆化搜索

    这个题debug了长达3个小时,acm我不能放弃,我又回来了的第一题! 一开始思路正确,写法不行,结果越改越乱 看了网上某神的代码,学习了一下 coding+debug:4小时左右,记忆化搜索+dp类 ...

  2. 【计算机网络】应用层(一) HTTP

      HTTP报文 HTTP报文是HTTP应用程序间发送的数据块,它由三部分组成:起始行(start line),首部(header)和主体(body),如下图所示:   从分类上,报文又可以分为请求报 ...

  3. java中的static关键字详解

    static对于我们这些初学者在编写代码和阅读代码是一个难以理解的关键字,也是大量公司面试题最喜欢考的之一.下面我就来就先讲述一下static关键字的用法和我们初学者容易误解的地方. static关键 ...

  4. Java基础总结--多线程总结1

    ----进程和线程-----1.概述:简单理解一个进程就是一个正在运行的程序(程序在内存中的所属空间)程序只有在运行的时候才会被加载进内存2.进程内部的划分进程不会直接执行,只是被当作分配内存资源的基 ...

  5. PHP常用配置

    Php配置文件:php.ini(使用‘;’表示注释) Php的配置项可以在配置文件中配置,也可以在脚本中使用ini_set()函数临时配置. 语言相关配置: 1. engine:设置PHP引擎是否可用 ...

  6. 菱形开合的实现 IOS

    实现的原理: 利用了自动布局和形变 核心代码块: @implementation JHMainView { UILabel *label1,*label2,*label3,*label4; UIBut ...

  7. 三、第一个IDEA创建的MAVEN工程——JavaWeb点滴

    一.Maven是什么? Maven是一个项目管理工具,它包含了一个项目对象模型 (Project Object Model),一组标准集合,一个项目生命周期(Project Lifecycle),一个 ...

  8. js判断是否使用的是微信浏览器

    代码如下: function is_weixin() { var ua = navigator.userAgent.toLowerCase(); return ua.match(/MicroMesse ...

  9. sessionStorage,UserDataStorage,cookie全兼容写法存在的问题

    最近央视播出了中国诗词大赛,看到了一首诗,送给大家 <春宵·春宵一刻值千金> 作者:苏轼 [宋代] 春宵一刻值千金,花有清香月有阴. 歌管楼台声细细,秋千院落夜沉沉. 好了,言归正传,今天 ...

  10. 最近折腾老机器:还是 Xp 最好!

    闲来无事,折腾机器. -------------------------------------------------------------- 硬件: CPU:amd x2450 Memory:6 ...