android studio集成ijkplayer

介绍

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‘)

}

  注意:

  • apply plugin: ‘com.android.application‘要改为apply plugin: ‘com.android.library‘
  • applicationId "tv.danmaku.ijk.media.example"这句要去掉
  • 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‘

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

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‘
几个版本必须要统一,如果不统一会出现各种问题。

时间: 2024-08-29 08:32:41

android studio集成ijkplayer的相关文章

Android Studio集成SVN报错:can't use subversion command line client : svn

Android Studio集成SVN插件,check out出代码后,每次开启都会在右上角出现如下错误: Can't use Subversion command line client: svn Probably the path to Subversion executable is wrong. Fix it. Errors found while svn working copies detection. Fix it. 下面直接上解决方案吧: 1.安装客户端http://ncu.dl

【Android Studio】 Android Studio集成genymotion模拟器

转自[http://blog.csdn.net/hyr83960944/article/details/37900383] Android Studio集成Genymotion比在Eclipse中集成简单多了.主要以下几个步骤: 1.官网先下载Genymotion:http://www.genymotion.com/,下载完成后安装好,同时你需要在genymotion官网上注册一个账号,这样你才能正常的使用genymotion. 下载完成后点击两个红色圈的那个图标,启动genymotion.然后

【OpenCV for Android】Android Studio集成OpenCV

准备工作 1.下载安装Android Studio(过程略). 2.下载Android OpenCV:https://opencv.org/releases.html,找到Android pack点击下载. 下载后解压得到如下文件,其中sdk文件夹就是Android studio集成OpenCV所需的文件. 集成步骤 1. 在Android studio中创建项目,并在file -> new -> import module中导入OpenCV模块,如图 在source directory中选择

Java.lang.UnsatisfiedLinkError android studio集成Jpush极光推送

今天学习了极光推送,想把它集成到自己的应用里面,我的开发环境是android studio 1.2,期间遇到了错误: Couldn't load jpush174 from loader dalvik.system.PathClassLoader findLibrary returned null,原因是由于android studio不能正确的解决libjpush174.so文件造成的,解决步骤如下: 1.首先按照官网教程配置环境,链接如下:http://docs.jpush.io/guide

android studio集成腾讯云通信时报错,could not expand zip imsdk.jar

最近在集成腾讯云通信sdk时,遇到一奇葩问题,android studio环境下老是提示could not expand ZIP:xxxxx  imsdk.jar; 后来经过多方查询与试错,最终找到终极原因, 腾讯sdk不支持2.1以上gradle版本(gradle 2.0 测试通过,直接在build.gradle中修改版本号为2.0即可): 深圳app外包

Android Studio集成crashlytics后无法编译的问题

http://blog.csdn.net/zhuobattle/article/details/50555393 问题描述: 在用fabric集成后编译出现如下错误, Error:Cause: hostname in certificate didn't match: <maven.fabric.io> != <*.motili.com> OR <*.motili.com> OR <motili.com> build.gradle部分脚本(fabric插件自

Android Studio如何集成Genymotion

转自:http://blog.csdn.net/hyr83960944/article/details/37900383 Android Studio集成Genymotion比在Eclipse中集成简单多了.主要以下几个步骤: 1.官网先下载Genymotion:http://www.genymotion.com/,下载完成后安装好,同时你需要在genymotion官网上注册一个账号,这样你才能正常的使用genymotion. 下载完成后点击两个红色圈的那个图标,启动genymotion.然后选

Android学习之Android studio TraceView和lint工具的使用具体解释

上次讲述了一下Android studio Terminal的使用配置,今天又学习了一下关于Traceview和lint工具的使用. 首先来讲lint吧: Android lint工具是Android studio中集成的一个代码提示工具.它主要负责对你的代码进行优化提示,包含xml和java文件,非常强大. 编写完代码及时进行lint測试.会让我们的代码变得非常规范并且避免代码冗余. 让我们及时发现代码中隐藏的问题. 举个样例:我们在代码中建立全局变量.而这个变量实际并不须要全局便利.lint

Google Android Studio Kotlin

Google Android Studio Kotlin 开发环境配置 Google 近日开发者大会宣布Kotlin成为Android开发的第一级语言,即Android官方开发语言,可见Google对Kotlin的重视,本文就介绍一下Android Studio下的Kotlin开发环境配置以及示例程序. 由于楼主是C++程序员,不是Java出身,也不太懂移动端的Android开发,业余时间想学习Android移动端开发,但是楼主又不想学Java,该如何是好呢(O(∩_∩)O哈哈~),正好Kotl