在ubuntu下编译ijkplayer-android的方法

我前面一片文字讲的是在windows的cygwin中去编译,那真是各种坑啊,软链接无法识别,x86和86_64的so文件无法编译出来等等,我折腾了几天还是没有在cygwin中完美编译ijkplayer,今天我用了一下同事的ubuntu的电脑,变异ijkplayer-android真的是很快,很快的。

1.前提:

下面是官方的提示:

# install homebrew, git, yasm
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
brew install git
brew install yasm
# 需要配置 SDK和NDK路径
# add these lines to your ~/.bash_profile or ~/.profile
# export ANDROID_SDK=<your sdk path>
# export ANDROID_NDK=<your ndk path>
# Cygwin下需要安装的软件
# on Cygwin (unmaintained)
# install git, make, yasm

在ubuntu环境下,进入home/xxx/

xxx代表你的名字,进入目录后按Ctrl+H就可以看到隐藏的文件,你就可以看到:

.bashrc 文件,这里可以配置类似windows下的path环境变量,

打开后加上你的ANDROID_NDK和ANDROID_SDK 路径,我的配置如下:

NDK=/home/hudong/platform-tools/android-ndk-r11b
export NDK
ADB=/home/hudong/Android/Sdk/platform-tools
export ADB
# 我们的ANDROID_NDK和ANDROID_SDK 路径
ANDROID_NDK=/home/hudong/platform-tools/android-ndk-r11b
export ANDROID_NDK
ANDROID_SDK=/home/hudong/android-sdk
export ANDROID_SDK
# 加入到PATH路径
PATH=${PATH}:${NDK}:${ADB}:${ANDROID_NDK}:

在编译之前我们需要安装一些软件,make我们就不用安装了,make是在cygwin下需要安装的,

至于git我想大家都安装了吧,要是没有安装的话输入下面的命令就可以安装git和yasm了:

sudo apt-get update
sudo apt-get install git
sudo apt-get install yasm

2.系统版本:

3.编译步骤:

# 直接拉取源代码到本地
git clone https://github.com/Bilibili/ijkplayer.git ijkplayer-android
cd ijkplayer-android
# 检查更新代码
git checkout -B latest k0.5.1
# 初始化,会把ffmpeg的代码拉取到本地等等操作
./init-android.sh
cd android/contrib
./compile-ffmpeg.sh clean
# 编译ffmpeg软解码库
./compile-ffmpeg.sh all
cd ..
# 会生成各种版本的so文件
./compile-ijk.sh all

执行./compile-ffmpeg.sh all是编译ffmpeg,需要的时间久一点,只要你的配置和软件安装没有问题你就可以看到:

说明ffmpeg编译成功了,接下来就是编译ijkplayer了。

4.导入Android Studio:

这个不用我说明了吧,跟导入普通的项目是一样的:

5.最新精简源代码:

code地址: https://github.com/Dawish/ijkplayer-demo

精简代码后的目录:

以上这篇在ubuntu下编译ijkplayer-android的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持我们。

您可能感兴趣的文章:

  • Android ijkplayer的使用方法解析
  • android studio集成ijkplayer的示例代码
  • 基于Android引入IjkPlayer无法播放mkv格式视频的解决方法
(0)

相关推荐

  • Android ijkplayer的使用方法解析

    ijkplayer是Bilibili基于ffmpeg开发并开源的轻量级视频播放器,支持播放本地网络视频,也支持流媒体播放.支持Android&iOS. ijkplayer的编译这里不多阐述,我也是直接获取别人编译完成的so库文件,直接使用的.如果你对ijkplayer的编译感兴趣,可以百度一下,有很多文章. 使用ijkplayer 导包 ijkplayer源码官方下载地址:https://github.com/Bilibili/ijkplayer 上面是官方提供的ijkplayer的源码地址,但

  • 基于Android引入IjkPlayer无法播放mkv格式视频的解决方法

    写在前面 项目中直接引用或者直接编译源码得到的ijkplayer在播放mkv文件时出现(-10000)的错误,去项目github查看了才知道,默认是不支持mkv和rmvb格式视频的播放的. 用了一天时间解决(为什么用了一天,因为我蠢啊),这里记录一下解决的方法(官方上面其实已经有了详细的教程,无奈我当时没有很认真看.)这里为我自己这个新手做个记录: 仍然是采用编译源码的方式引入,只是需要按照官方的方法更改一下脚本文件 ijkplayer官方地址:https://github.com/Bilibi

  • android studio集成ijkplayer的示例代码

    介绍 ijkplayer是一款非常火的开源视频播放器,android和IOS通用.关于怎么编译怎么导入android Studio中自己的项目,其中坑很多,本篇记录下自己的操作记录.ijkplayer现在的版本是0.8.3,当然是使用最新的版本集成了. 编译ijkplayer 关于编译,我是在Ubuntu上编译后拷贝到win10中的,ijkplayer源码需要gcc编译,windows各种不好用,如果使用cynwin还不如在ubuntu下编译. 编译的过程是下载sdk,ndk.设置环境变量后按照

  • ubuntu下编译安装opencv的方法

    简易安装opencv2: conda install --channel https://conda.anaconda.org/menpo opencv 或: sudo apt-get install libopencv-dev python-opencv 简易安装opencv3: pip install opencv-python 或: pip install opencv-python==3.1.0 简易安装方式是从库中安装编译好了的Opencv,这种安装方式简单方便,缺点是容易在使用中出现

  • 在ubuntu下编译ijkplayer-android的方法

    我前面一片文字讲的是在windows的cygwin中去编译,那真是各种坑啊,软链接无法识别,x86和86_64的so文件无法编译出来等等,我折腾了几天还是没有在cygwin中完美编译ijkplayer,今天我用了一下同事的ubuntu的电脑,变异ijkplayer-android真的是很快,很快的. 1.前提: 下面是官方的提示: # install homebrew, git, yasm ruby -e "$(curl -fsSL https://raw.githubusercontent.c

  • linux下编译boost.python简单方法

    最近项目使用c++操作Python脚本,选用boost.python库.在window下编译安装很顺利,但是在Linux下一直编译不通过,总是提示找不到头文件.linux版本为rhel5.7.后来询问同事,原来是同事将原来系统自带的python2.4删除掉了,然后手动编译安装了python3.3. 换到另外一台机器,重新下载boost,使用以下命令,顺利编译成功 ./bootstrap.sh --with-python=/usr/bin/python ./bjam --build-type=mi

  • Oracle 11g下编译使用BBED的方法教程

    BBED介绍: BBED(Oracle Block Browerand EDitor Tool),用来直接查看和修改数据文件数据的一个工具,是Oracle一款内部工具,可以直接修改Oracle数据文件块的内容,在一些极端恢复场景下比较有用.该工具不受Oracle支持,所以默认是没有生成可执行文件的,在使用前需要重新连接. 本文详细介绍了关于Oracle 11g下编译使用BBED的方法教程,下面话不多说,来一起看看详细的介绍: 环境:RHEL 6.4 + Oracle 11.2.0.4 1. 拷贝

  • Ubuntu下Telnet服务器的配置方法

    1. 首先介绍linux中的守护进程 在Linux系统中有一个特殊的守护进程inetd(InterNET services Daemon),它用于Internet标准服务,通常在系统启动时启动.通过命令行可以给出inetd的配置文件,该配置文件列出了inetd所提供的服务清单.如果没有在命令行给出配置文件,那么inetd将从文件/etc/inetd.conf中读取它的配置信息.inetd的主要任务是为那些没有在系统初始化时启动的服务器进程监听请求,它在同配置文件中列出的服务相关联的TCP或UDP

  • 在openSUSE42.1下编译安装PHP7 的方法

    首先推荐一篇文章PHP 7 Release Date Arrived: Will Developers Adopt PHP 7? - PHP Classes blog. 里面说到是否会去使用PHP7,就个人而言,我是毫不犹豫地使用的,但是生产环境就不是我说了算,所以只能自己在自己的开发环境里更新PHP的版本.那么,你呢? 笔者使用的是Linux的openSUSE42.1发行版,Yast里面还没有PHP7的安装包,于是乎只能自己手动编译安装了.作为一个PHP开发者,我是非常希望能够学会编译安装PH

  • ubuntu 下JDK环境变量配置方法

    检查jdk版本.卸载openjdk版本(jdk与openjdk的区别不在此赘述) 先检查java –version.javac –version命令查看版本(如图一) 经检查jdk版本为1.7.0.45:再输入rpm -qa|grep java查看(如图二) 注:不同的CentOS版本安装的openjdk版本可能有差别:如果没有列表显示,可直接看第4步 卸载以上三个文件(需要root权限,登录root权限卸载)(如图三) rpm -e --nodeps java-1.7.0-openjdk-1.

  • ubuntu 下编译C++代码出现的问题解决

    同样的代码, 同样的makefile 文件 1)在mac 下顺利编译: 2)在新的ubuntu 下,编译失败: 报错信息: string.h 中各种 函数找不到: makefile: 复制代码 代码如下: //[这是后来添加的 CL_HEADER := -I/usr/include/ CL_LIBS := -L/usr/lib/ //后来添加的] clcp: main.o cl_string_utils.o cl_log.o g++ ${CL_HEADER} ${CL_LIBS}  -o clc

  • Ubuntu下Anaconda和Pycharm配置方法详解

    本文为大家分享了Ubuntu下Anaconda和Pycharm的配置方法,供大家参考,具体内容如下 1.对于Ubuntu18.04,一开始会有一个系统默认的python解释器,是3.6版本,位置在/usr/bin/python3.6.可以通过在terminal中输入python或者python3来查看. 2.安装了Anaconda3之后,Anaconda会自带一个python解释器,也是3.6版本,位置在/home/li/anaconda3/bin/python3.一旦安装了Anaconda,这

  • Ubuntu 下配置Rsync服务的方法

    默认情况Ubuntu安装了rsync服务,但在/etc下没有配置文件,一般情况可以copy示例文件到/etc下 #cp /usr/share/doc/rsync/examples/rsyncd.conf /etc #vi /etc/rsyncd.conf # sample rsyncd.conf configuration file # GLOBAL OPTIONS motd file=/etc/motd #登录欢迎信息 log file=/var/log/rsyncd #日志文件 # for

随机推荐