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. ZJOI2008骑士

    Z国的骑士团是一个很有势力的组织,帮会中汇聚了来自各地的精英.他们劫富济贫,惩恶扬善,受到社会各界的赞扬. 最近发生了一件可怕的事情,邪恶的Y国发动了一场针对Z国的侵略战争.战火绵延五百里,在和平环境 ...

  2. Intellij IDEA中修改项目名称

    如下图红色标识所示: 修改方法见下图:

  3. 学习WWDC的好资源!

    学习WWDC的好资源. 大家都知道.要看Apple每年一度的WWDC,仅仅要到它的Developer站点去就能够了.那里有每年的研讨会视频,并且还能够下载每一个视频的SD或HD视频文件,以及相关的演示 ...

  4. 《Java设计模式》之桥接模式

    Bridge模式的概念 Bridge 模式是构造型的设计模式之中的一个.Bridge模式基于类的最小设计原则,通过使用封装,聚合以及继承等行为来让不同的类承担不同的责任.它的主要特点是把抽象(abst ...

  5. linux 配置IP地址

    linux 配置IP网址能够使用neat,netconfig,ifconfig等进行配置,当中前两个实用户界面,第三个命令仅仅是暂时设置IP,机器重新启动后配置将丢失. 有时候图形用户界面的程序难以获 ...

  6. shell-手机屏幕录制

    今天在做android联系的时候,想要把自己写的demo效果记录下来.在网上发现了录制手机屏幕的方法,如下 adb shell screenrecord /sdcard/demo.mp4 解释 adb ...

  7. 【2017"百度之星"程序设计大赛 - 初赛(A)】今夕何夕

    [链接]http://bestcoder.hdu.edu.cn/contests/contest_showproblem.php?cid=775&pid=1005 [题意] 在这里写题意 [题 ...

  8. session应用二

    从session中获取mapper对象,利用mapper对象进行增删改查 Date now = new Date(); SqlSession session = this.yangchebaoDbMa ...

  9. CODEVS——T1979 第K个数

    http://codevs.cn/problem/1979/ 时间限制: 1 s  空间限制: 1000 KB  题目等级 : 黄金 Gold 题解  查看运行结果     题目描述 Descript ...

  10. [TS] Implement a singly linked list in TypeScript

    In a singly linked list each node in the list stores the contents of the node and a reference (or po ...