在做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. 【转】Sizeof与Strlen的区别与联系

    原文地址:http://www.cnblogs.com/carekee/articles/1630789.html 1.sizeof  sizeof(...)是运算符,在头文件中typedef为uns ...

  2. java的windows自动化-自动运行java程序

    那么在一些工具齐全并且已经有了一定的写好的java程序的情况下(环境变量和软件见上一章http://www.cnblogs.com/xuezhezlr/p/7718273.html),如何自动化运行j ...

  3. LeetCode 405. Convert a Number to Hexadecimal (把一个数转化为16进制)

    Given an integer, write an algorithm to convert it to hexadecimal. For negative integer, two’s compl ...

  4. LeetCode 287. Find the Duplicate Number (找到重复的数字)

    Given an array nums containing n + 1 integers where each integer is between 1 and n (inclusive), pro ...

  5. LeetCode 100. Same Tree (相同的树)

    Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...

  6. LeetCode 40. Combination Sum II (组合的和之二)

    Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in ...

  7. K - 迷宫问题 POJ - 3984

    定义一个二维数组: int maze[5][5] = { 0, 1, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0, 1, ...

  8. geolocation h5

    navigator. geolocation.getCurrentPosition() 触发浏览器弹窗询问用户同意访问地址.接收三个参数:成功回调函数,可选的失败回调,可选选项对象   成功回调函数接 ...

  9. [译]ASP.NET Core 2.0 区域

    问题 如何将一个规模庞大的ASP.NET Core 2.0应用程序进行逻辑分组? 答案 新建一个ASP.NET Core 2.0空项目,修改Startup类,增加Mvc服务和中间件: public v ...

  10. ThreadLocal 原理解析

    1.对Thread local 理解 ThreadLocal 是为了解决线程间同步而创建的一个新的思路.简单来说就是每个线程都保存一个变量副本. 如果在Thread 内部定义一个field变量,也可以 ...