android studio集成ijkplayer
来源:互联网 发布:足彩数据 编辑:程序博客网 时间:2024/06/05 12:52
介绍
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'
几个版本必须要统一,如果不统一会出现各种问题。
- android studio集成ijkplayer
- 集成ijkplayer
- ijkplayer集成
- iOS集成IJKPlayer
- Eclipse 集成ijkplayer demo
- ijkplayer集成使用(一)
- ios端集成ijkplayer
- ios集成ijkplayer框架
- IOS集成ijkplayer
- ijkplayer在windows下编译并导入Android Studio
- android studio集成git
- Android Studio集成Genymotion
- Android studio集成genymotion
- Android Studio集成Genymotion
- Android Studio集成Genymotion
- android studio集成svn
- Android Studio 集成SVN
- Android Studio集成Genymotion
- 动态代理模式
- 打开MySQL数据库远程访问的权限
- 移动端touch事件实现页面弹动--小插件
- 微信小程序弹出框详解
- Framework学习(一)Android 系统架构
- android studio集成ijkplayer
- 阿里云ECS ubuntu 14.04 搭建svn以及使用实践记录
- wpf仿163收件人
- iOS开发中属性 property 和 synthesize
- H5调用原生activity出现 err unknown url scheme
- ABAP表MODSAP
- 进程——c语言
- python操作MySQL和mongoDB
- 用好这6个新功能,让你的项目设计事半功倍