在做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. formData 无需form异步上传多个图片

    上周帮其它公司套一下一个web端微信投票系统的后台接口,遇到了一个图片以及视频上传报名的小问题,网上实现方式有很多但都不是ui上面的效果,于是自己动手改造了一个.先来看看效果图 流程很简单,就是点击每 ...

  2. 启动关闭zookeeper集群的脚本

    启动hadoop Ha集群是,每次都要手动启动每个zk节点,实在是太麻烦了.于是乎自己写了个脚本startAllZK.sh: 需要启动的节点,先在 NODENAME_ARR 数组中配置好,zkServ ...

  3. Java多线程高并发学习笔记——阻塞队列

    在探讨可重入锁之后,接下来学习阻塞队列,这边篇文章也是断断续续的写了很久,因为最近开始学ssm框架,准备做一个自己的小网站,后续可能更新自己写网站的技术分享. 请尊重作者劳动成果,转载请标明原文链接: ...

  4. 07-从零玩转JavaWeb-对象内存分析

    上篇看了关于数组的内存分析,接下来看一下对象的内存分析 假定有如下类:  第一步会把Person的字节码放到方法区   执行main方法,把main方法的栈帧放到栈当中   Person zly = ...

  5. 火狐浏览器打开html文件,中文乱码

    当html文件为: 解决方法: 将   <meta http-equiv="Content-Type" content="text/html; charset=UT ...

  6. 微信小程序用setData修改数组或对象中的一个属性值

    在page中有如下数组 data: { info:[ { name:"yuki", tou:"../img/head.jpg", zGong:130, gMon ...

  7. Maven 设置Maven源/镜像

    在Eclipse/ InteliJ Idea使用Maven时,企业提供的本地仓库经常有些Jar包下载不下来,所以.配置Maven设置国内镜像对开发人员来说是必不可少的.今天写一篇自己配制的Maven镜 ...

  8. Ionic3 一些命令

    ionic start --help E:\Projects\ionic>ionic start --help ionic start - Create a new project This c ...

  9. LNK4098: 默认库“MSVCRT”与其他库的使用冲突

    LNK4098: 默认库"MSVCRT"与其他库的使用冲突 修改的方法:在项目属性中,在连接器-输入选项中,在忽略特定库中添加相应的库,具体添加那些苦请参照下面的表格. 下面的内容 ...

  10. Tomcat请求头过大

    今天开发反应Tomcat的请求头过大 <Connector port="8280" protocol="HTTP/1.1" connectionTimeo ...