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 ...
随机推荐
- 【转】Sizeof与Strlen的区别与联系
原文地址:http://www.cnblogs.com/carekee/articles/1630789.html 1.sizeof sizeof(...)是运算符,在头文件中typedef为uns ...
- java的windows自动化-自动运行java程序
那么在一些工具齐全并且已经有了一定的写好的java程序的情况下(环境变量和软件见上一章http://www.cnblogs.com/xuezhezlr/p/7718273.html),如何自动化运行j ...
- 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 ...
- LeetCode 287. Find the Duplicate Number (找到重复的数字)
Given an array nums containing n + 1 integers where each integer is between 1 and n (inclusive), pro ...
- LeetCode 100. Same Tree (相同的树)
Given two binary trees, write a function to check if they are equal or not. Two binary trees are con ...
- LeetCode 40. Combination Sum II (组合的和之二)
Given a collection of candidate numbers (C) and a target number (T), find all unique combinations in ...
- 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, ...
- geolocation h5
navigator. geolocation.getCurrentPosition() 触发浏览器弹窗询问用户同意访问地址.接收三个参数:成功回调函数,可选的失败回调,可选选项对象 成功回调函数接 ...
- [译]ASP.NET Core 2.0 区域
问题 如何将一个规模庞大的ASP.NET Core 2.0应用程序进行逻辑分组? 答案 新建一个ASP.NET Core 2.0空项目,修改Startup类,增加Mvc服务和中间件: public v ...
- ThreadLocal 原理解析
1.对Thread local 理解 ThreadLocal 是为了解决线程间同步而创建的一个新的思路.简单来说就是每个线程都保存一个变量副本. 如果在Thread 内部定义一个field变量,也可以 ...