android studio集成ijkplayer的示例代码

所属分类: 软件编程 / Android 阅读数: 54
收藏 0 赞 0 分享

介绍

ijkplayer是一款非常火的开源视频播放器,android和IOS通用。关于怎么编译怎么导入android Studio中自己的项目,其中坑很多,本篇记录下自己的操作记录。ijkplayer现在的版本是0.8.3,当然是使用最新的版本集成了。

编译ijkplayer

关于编译,我是在Ubuntu上编译后拷贝到win10中的,ijkplayer源码需要gcc编译,windows各种不好用,如果使用cynwin还不如在ubuntu下编译。

编译的过程是下载sdk,ndk。设置环境变量后按照github上的说明编译即可.

android studio集成ijkplayer

1.导入到你的项目中

android studio打开你的项目,File->Import Module...选择ijkplayer的anroid/ijkplayer目录,ijk-example依赖所有库,所以导入后所有项目都会导入到你的项目中。

2.将android/ijkplayer目录下的tools文件夹也拷贝到自己项目的根目录下。

3. 在ijkplayer-java\src\main\目录下新建一个名为jniLibs的文件夹,将各个ijkplayer-xxx目录中的\src\main\libs目录下的文件夹拷贝到jniLibs文件夹中,如:ijkplayer--armv7a的该目录下包含armeabi-v7a这个文件夹,其中包含了该平台对应的.so文件,如果希望包含所有平台的,就将所有ijkplayer-xxx下的全部拷过来,如果只希望某几个平台的,就只拷贝它们的。

4.将ijkplayer-xxx的目录全部从项目中删除掉,只保留ijkplayer-example、ijkplayer-java、ijkplayer-exo以及tools文件夹,其中ijkplayer-example依赖于后面几个。android studio删除项目需如下图所示:

并将相对应的文件夹删除即可。

5.将ijkplayer-example修改为Module的形式,因为ijkplayer-example本身是一个application工程,默认不生成aar文件,且里面的资源互相依赖,难以像旧版本通过复制所需的几个java文件到自己工程中的方式来使用,所以不如将整个ijkplayer-example转换为我们工程的一个Module。具体方法是:

先修改ijkplayer-example目录下的build.gradle文件,如下:

apply plugin: 'com.android.library'

 

android {

  // http://tools.android.com/tech-docs/new-build-system/tips

  //noinspection GroovyAssignabilityCheck

  compileSdkVersion rootProject.ext.compileSdkVersion

  //noinspection GroovyAssignabilityCheck

  buildToolsVersion rootProject.ext.buildToolsVersion

 

  lintOptions {

    abortOnError false

  }

  defaultConfig {

 

    minSdkVersion 9

    targetSdkVersion rootProject.ext.targetSdkVersion

    versionCode rootProject.ext.versionCode

    versionName rootProject.ext.versionName

  }

  buildTypes {

    release {

      minifyEnabled false

      proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

    }

  }

 

  buildToolsVersion '25.0.0'

}

 

dependencies {

  compile fileTree(include: ['*.jar'], dir: 'libs')

  compile 'com.android.support:appcompat-v7:25.0.0'

  compile 'com.android.support:preference-v7:23.0.1'

  compile 'com.android.support:support-annotations:23.0.1'

 

  compile 'com.squareup:otto:1.3.8'

 

  compile project(':ijkplayer-java')

  compile project(':ijkplayer-exo')

 

}

注意:

  1. apply plugin: 'com.android.application'要改为apply plugin: 'com.android.library'
  2. applicationId "tv.danmaku.ijk.media.example"这句要去掉
  3. compile 'com.android.support:appcompat-v7:25.0.0'
    1. compile 'com.android.support:preference-v7:23.0.1'
    2. compile 'com.android.support:support-annotations:23.0.1'
    3. compile 'com.squareup:otto:1.3.8'

这几个修改为自己安装的版本。

6.在ijkplayer-example根目录下增加一个gradle.properties文件,内容如下:

 POM_NAME=ijkplayer-example

POM_ARTIFACT_ID=ijkplayer-example

POM_PACKAGING=aar

7.在自己的项目中添加依赖项,如下图所示:

完成上述操作,点击async gradle即可。

其他错误:

如果出现

Error:(3) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Borderless.Colored'.

如上类似错误,那是几个项目的sdk版本不同引起的,四个项目包含你自己的项目的compileSdkVersion 、

buildToolsVersion、targetSdkVersion和compile 'com.android.support:appcompat-v7:25.0.0'
几个版本必须要统一,如果不统一会出现各种问题。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

更多精彩内容其他人还在看

Android网络编程之获取网络上的Json数据实例

这篇文章主要介绍了Android网络编程之获取网络上的Json数据实例,本文用完整的代码实例讲解了在Android中读取网络中Json数据的方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中的windowSoftInputMode属性详解

这篇文章主要介绍了Android中的windowSoftInputMode属性详解,本文对windowSoftInputMode的9个属性做了详细总结,需要的朋友可以参考下
收藏 0 赞 0 分享

Android网络编程之UDP通信模型实例

这篇文章主要介绍了Android网络编程之UDP通信模型实例,本文给出了服务端代码和客户端代码,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中使用ListView实现漂亮的表格效果

这篇文章主要介绍了Android中使用ListView实现漂亮的表格效果,本文用详细的代码实例创建了一个股票行情表格,需要的朋友可以参考下
收藏 0 赞 0 分享

Android中刷新界面的二种方法

这篇文章主要介绍了Android中刷新界面的二种方法,本文使用Handler、postInvalidate两种方法实现界面刷新,需要的朋友可以参考下
收藏 0 赞 0 分享

Android SDK三种更新失败及其解决方法

这篇文章主要介绍了Android SDK三种更新失败及其解决方法,需要的朋友可以参考下
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(一)

Android3.0(API level 11)开始,Android设备不再需要专门的菜单键。随着这种变化,Android app应该取消对传统6项菜单的依赖。取而代之的是提供anction bar来提供基本的用户功能
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(二)

这次将继续上一篇文章没有讲完的Menu的学习,上下文菜单(Context menu)和弹出菜单(Popup menu)
收藏 0 赞 0 分享

Android学习笔记——Menu介绍(三)

今天继续昨天没有讲完的Menu的学习,主要是Popup Menu的学习,需要的朋友可以参考下
收藏 0 赞 0 分享

Android显示网络图片实例

这篇文章主要介绍了Android显示网络图片的方法,以实例形式展示了Android程序显示网络图片的方法,非常具有实用价值,需要的朋友可以参考下
收藏 0 赞 0 分享
查看更多