1.先安装相关环境,详细在这里http://blog.163.com/zhuowr2006@126/blog/static/98334653201612310647799/

 依据上面那个安装之后,会直接有个eclipse+sdk。sdk那个仅仅有一个版本号可是临时不用去升级。不影响。

2.依据这个官方https://github.com/Bilibili/ijkplayer 的api要求去下载个ndk r10e

下载地址:http://blog.csdn.net/ultrapro/article/details/46008805

 依据你ubuntu安装是多少位来下载,我的是64位的。所下面载android-ndk-r10e-linux-x86_64.bin
 3.通过命令去安装ndk。

3.1 下载好后,直接拉进去ubuntu 里面

3.2  打开控制台,由于直接在根文件夹下了。所以直接使用
chmod a+x android-ndk-r10e-linux-x86_64.bin
然后右击查看路径,输入:/home/admins/android-ndk-r10e-linux-x86_64.bin
等他安装好就能在这个文件夹里面看到他了
 

4.环境变量设置

4.1 直接在根文件夹,alt+h,显示隐藏文件,找到.bashrc文件。加入下面环境变量
  1. export ANDROID_SDK=~/Development/adt-bundle-linux-x86-20130917/sdk
  2. export ANDROID_NDK=~/Development/android-ndk-r9b
  3. export PATH=$PATH:$ANDROID_SDK:$ANDROID_NDK:$ANDROID_SDK/platform-tools/
详细的文件名称依据实际来。由于sdk之前我们已经有了,所以也是须要配置的。
配置完毕后长这样:

保存下就OK了

5.之后就进入怎么编译第三方库ijkplayer

5.1确保你的机器上已经安装了git和yasm,假设没有请在终端运行下面命令:
sudo apt-get update
sudo apt-get install git
sudo apt-get install yasm

5.2确保配置文件里ANDROID_SDK=xxx和ANDROID_NDK=xxx正确(注:声明路径变量的名字一定要以ANDROID_SDK和ANDROID_NDK命名,否则后边的编译会出问题,我的路径都声明在了.bashrc中)
5.3 首先从Bilibili在github上的代码库中可隆一份源代码git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android (注:须要点时间下载
5.4  cd ijkplayer-android (注:定位到此文件夹下)
5.5  切换分支

git checkout -B latest k0.4.5

5.6 运行命令

./init-android.sh

注意:这里有可能会出现这个问题:

解决方式:

打开/ijkplayer-android/tools下的pull-repo-ref.sh文件:

将 “ --dissociate ” 删掉

  1. REMOTE_REPO=$1
  2. LOCAL_WORKSPACE=$2
  3. REF_REPO=$3
  4. if [ -z $1 -o -z $2 -o -z $3 ]; then
  5. echo "invalid call pull-repo.sh '$1' '$2' '$3'"
  6. elif [ ! -d $LOCAL_WORKSPACE ]; then
  7. git clone--dissociate --reference $REF_REPO $REMOTE_REPO $LOCAL_WORKSPACE#将--dissociate删掉
  8. cd$LOCAL_WORKSPACE
  9. git repack -a
  10. else
  11. cd $LOCAL_WORKSPACE
  12. git fetch --all --tags
  13. cd -
  14. fi
  15. #! /usr/bin/env bash

然后保存文件。再次运行./init-android.sh 接着继续进行......

或者升级git到最新版本号,当中会支持“dissociate”命令

5.7 下载好后,运行

cd android/contrib
./compile-ffmpeg.sh clean
./compile-ffmpeg.sh all (注:all是编译全部cpu下支持的库。是能够选择的,这里我们还是选默认,假设你的ANDROID_SDK=xxx和ANDROID_NDK=xxx的路径没有问题话。就開始成功运行编译了。 这是个漫长的等待过程)

最后出现下图,恭喜能够进行下一步了。

依照上图的提示。我们回到ijkplayer-android/android的文件夹下,运行这个脚本

cd ..

./compile-ijk.sh all (注:假设去掉all则仅仅会编译出armv7a架构的so文件,否则会是所有)

上述所有的命令所有运行成功后,如今就能够/ijkplayer-android/android/文件夹下的ijkplayer导入Android Studio中了。

特此更新一下:

我在其它文章中都是到这里就完了,在ubuntu中,依照上面编译完毕之后就是能够执行的了,可是无奈我的电脑太卡。或者习惯在winows下使用as的同学要怎么办根本没写,这里我试了下。用以下这样的方法就能够将编译好的项目拿到winows下使用了:

1.首先我们要直接在winows下,下载整个项目:https://github.com/Bilibili/ijkplayer

2.导入到as里面,这个时候你执行到播放器这里就会挂掉,没关系。

3.我们看下编译好的支持库里面会生成什么

这里我们选择当中一个arm64 ,生成了libs和obj两个目录

watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="" style="border:0px; height:auto">

另一个比較重要的是他会在jni生成一个新的.mk文件,这个mk等下会用到

4.打开as我们如今这个坑爹项目,将在ubuntu里面编译好的libs、obj 复制过来。还有jni下的Android.mk覆盖掉原来那个

如图我选择的是arm-64。其它的支持库也是一样的

5.然后再执行一次。你就能够尽情的玩了~~哈哈

參考了下面文章:

http://www.jianshu.com/p/b447f6601501

http://blog.csdn.net/liuyuejinqiu/article/details/50728013

https://github.com/Bilibili/ijkplayer

最后:另一个将其改动为eclipse可用的教程附上:

http://blog.csdn.net/fatiao101/article/details/49586379

ubuntu 14 编译视频第三方库ijkplayer,能够在winows下使用的更多相关文章

  1. Ubuntu 如何编译安装第三方库

    在工程应用中都会用到第三方库,标准库是在我们安装IDE环境或系统自带已经编译好的库,我们是可以直接调用的,而第三方库需要我们自己下载,编译和安装后才能使用,这里我们说的是Ubuntu如何使用cmake ...

  2. Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.4.7 + MySQL 5.6.26 笔记

    Ubuntu 14 编译安装 PHP 5.4.45 + Nginx  1.8.0/1.4.7 + MySQL 5.6.26 笔记,主要是给自己的PC机安装,非生产环境! 一.下载必要的源码 1.1.下 ...

  3. ubuntu 14.04 32位库

    如果是ubuntu 14.04,则请先执行: 方法1: sudo gedit /etc/apt/sources.list 然后在最后添加上: deb http://archive.ubuntu.com ...

  4. ubuntu 14 编译ARM g2o-20160424

    1. 安装eigen sudo apt-get install libeigen3-dev sudo apt-get install libsuitesparse-dev sudo apt-get i ...

  5. Ubuntu 14 编译安装 XDebug - 2.3.3 For PHP - 5.4.45

    安装过程如下: 1.下载XDebug源码:http://xdebug.org/files/xdebug-2.3.3.tgz 2.解压到某个目录,如 /opt/software/xdebug-2.3.3 ...

  6. Ubuntu 14.04 将一个sh文件制作成类似于windows下的可以双击执行的快捷方式

    # 创建文件 touch test.desktop # 在test.desktop中写入如下内容 [Desktop Entry] Version=1.0 Type=Application Termin ...

  7. ubuntu 14.04.5 编译Android 4.4.4 r1源码(最新)

    本文博客链接:http://blog.csdn.net/qq1084283172/article/details/54426189 吐槽:ubuntu系统真是让人又爱又恨,也有可能是VMware Wo ...

  8. 调用第三方库时需注意MD/MT的链接编译方式(遇到的坑记录)

    MD与/MT编译 1./MD是动态库链接方式编译 (DEBUG版本是/MDd) 2./MT是静态库链接方式编译 (DEBUG版本是/MTd) 编译器不会检查到的问题 我今天遇到的记录下来 当你调用第三 ...

  9. Ubuntu 12 编译安装 PHP 5.4 及 问题汇总

    参考先前的文章:Ubuntu 14 编译安装 PHP 5.4.45 + Nginx 1.4.7 + MySQL 5.6.26 笔记 安装过程: ############################ ...

随机推荐

  1. SAR(遥感、卫星) 图像常用数据集

    Brazilian Coffee Scenes数据集较小,5MB左右: UC Merced Land Use Dataset(数据集规模较大,300MB+) MSTAR public targets ...

  2. js中的组合模式

    <!doctype html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. Regularized logistic regression

    要解决的问题是,给出了具有2个特征的一堆训练数据集,从该数据的分布可以看出它们并不是非常线性可分的,因此很有必要用更高阶的特征来模拟.例如本程序中个就用到了特征值的6次方来求解. Data To be ...

  4. ES6第三节:变量的解构赋值

    ES6允许按照一定模式,从数组和对象中提取值,对变量进行赋值,这被称为解构.下面我们看实际的例子: 一.数组解构: let [a,b,c] = [1,2,3]; console.log(a); //a ...

  5. 计算机视觉(ComputerVision, CV)相关领域的站点链接

    关于计算机视觉(ComputerVision, CV)相关领域的站点链接,当中有CV牛人的主页.CV研究小组的主页,CV领域的paper,代码.CV领域的最新动态.国内的应用情况等等. (1)goog ...

  6. LinearLayout-margin不起作用的处理

    1.如果LinearLayout中使用android:layout_marginRight不起作用,通过测试原来在android2.x中,如果一个控件中有android:layout_gravity属 ...

  7. .Net Standard和各平台关系

    .NET Standard      1.0      1.1      1.2      1.3      1.4 1.5 1.6 2.0 .NET 核心 1.0 1.0 1.0 1.0 1.0 1 ...

  8. 23. Node.Js Buffer类(缓冲区)-(三)文件读取实例

    转自:https://blog.csdn.net/u011127019/article/details/52513109

  9. 洛谷P3954 成绩【民间数据】

    题目背景 数据已修复 题目描述 牛牛最近学习了C++入门课程,这门课程的总成绩计算方法是: 总成绩=作业成绩×20%+小测成绩×30%+期末考试成绩×50% 牛牛想知道,这门课程自己最终能得到多少分. ...

  10. android notify

    notify http://examples.javacodegeeks.com/android/core/ui/notifications/android-notifications-example ...