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. 2.Maven之(二)Maven生命周期

    转自:https://blog.csdn.net/u012152619/article/details/51473404 我们在开发项目的时候,不断地在编译.测试.打包.部署等过程,maven的生命周 ...

  2. class的写法

    java中class的写法:1.public class xxx{}2.非public类:public class A{}public class B{}必须保证一个其中一个类名是public并与ja ...

  3. Python的正则表达概述

    本文介绍了Python对于正则表达式的支持,包括正则表达式基础以及Python正则表达式标准库的完整介绍及使用示例.本文的内容不包括如何编写高效的正则表达式.如何优化正则表达式,这些主题请查看其他教程 ...

  4. Linux运维命令总结

    .什么是运维?什么是游戏运维? 1)运维是指大型组织已经建立好的网络软硬件的维护,就是要保证业务的上线与运作的正常, 在他运转的过程中,对他进行维护,他集合了网络.系统.数据库.开发.安全.监控于一身 ...

  5. git把本地文件上传到github上的步骤

    1.清除clean 2.返回上一级cd .. 3.克隆仓库地址git clone+地址 4.添加忽悠文件vim .gitignore 5查看cat .gitignore 6.进入到test,并且添加所 ...

  6. js33--责任链模式

    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  7. 28.lambda表达式与多线程

    #include <iostream> #include <thread> #include <Windows.h> #include <chrono> ...

  8. error: function declaration isn’t a prototype [-Werror=strict-prototypes]

    "warning: function declaration isn't a prototype" was caused by the function like that:   ...

  9. 桌面版chrome调试APP的webview的步骤:

    1. 在chrome地址栏输入:chrome://inspect/ 2.手机插入电脑USB口,打开开发者选项,OK,可以了. 友情链接:http://www.cnblogs.com/slmk/p/75 ...

  10. 【agc014d】Black and White Tree

    又是被虐的一天呢~(AC是不可能的,这辈子不可能AC的.做题又不会做,就是打打暴力,才能维持骗骗分这样子.在机房里的感觉比回家的感觉好多了!里面个个都是大佬,个个都是死宅,我超喜欢在里面的!) (↑以 ...