ijkplayer学习二:运行Demo并集成到项目
作者:互联网
接上一篇编译篇:
这里接着讲怎么运行播放ijkplayer的sample中自带的Demo并把ijkplayer集成到项目中。
运行环境
首先我的运行环境如下
Android Studio版本:4.1.2
buildToolsVersion “30.0.3”
gradle版本:
拷贝文件
把ijkplayer-android\android\ijkplayer从Ubuntu中拷贝到windows中。
如果之前安装了VMware Tools则把ijkplayer文件夹压缩后从Ubuntu拖出来到Windows再解压即可。
ijkplayer的目录如下:
再AndroidStudio中打开ijkplayer
更改ijkplayer项目中的build.gradle
可以根据自己AS和gradle版本来进行更改,注意代码中的汉字注释
// Top-level build file where you can add configuration options common to all sub-projects/modules.
buildscript {
repositories {
// 镜像地址,便于构建项目
maven{url 'http://maven.aliyun.com/nexus/content/groups/public/'}
maven{url "https://jitpack.io"}
google()
}
dependencies {
// 根据自己的具体情况更改
classpath "com.android.tools.build:gradle:4.1.2"
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.4.1'
classpath 'com.jfrog.bintray.gradle:gradle-bintray-plugin:1.7'
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}
allprojects {
repositories {
// 镜像地址,便于构建项目
maven{url 'http://maven.aliyun.com/nexus/content/groups/public/'}
google()
}
}
ext {
compileSdkVersion = 30 //根据自己的具体情况更改
buildToolsVersion = "30.0.3" //根据自己的具体情况更改
targetSdkVersion = 30 //根据自己的具体情况更改
versionCode = 800800
versionName = "0.8.8"
}
wrapper {
gradleVersion = '6.5' //根据自己的具体情况更改
}
更改ijkplayer-example中的build.gradle
主要是主要将complie修改成implementation。
添加flavorDimensions "default"
避免Error:All flavors must now belong to a named flavor dimension.
报错
修改all32 { minSdkVersion 21 }
避免 The minSdk version should not be declared in the android manifest file.
报错
apply plugin: 'com.android.application'
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 {
applicationId "tv.danmaku.ijk.media.example"
minSdkVersion 9
targetSdkVersion rootProject.ext.targetSdkVersion
versionCode rootProject.ext.versionCode
versionName rootProject.ext.versionName
// 添加
flavorDimensions "default"
}
buildTypes {
release {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
productFlavors {
all32 { minSdkVersion 21 } // 修改
all64 { minSdkVersion 21 }
// armv5 {}
// armv7a {}
// arm64 { minSdkVersion 21 }
// x86 {}
}
}
dependencies {
// 下边的所有compile修改成implementation
implementation fileTree(include: ['*.jar'], dir: 'libs')
implementation 'com.android.support:appcompat-v7:23.0.1'
implementation 'com.android.support:preference-v7:23.0.1'
implementation 'com.android.support:support-annotations:23.0.1'
implementation 'com.squareup:otto:1.3.8'
implementation project(':ijkplayer-java')
implementation project(':ijkplayer-exo')
all32Implementation project(':ijkplayer-armv5')
all32Implementation project(':ijkplayer-armv7a')
all32Implementation project(':ijkplayer-x86')
all64Implementation project(':ijkplayer-armv5')
all64Implementation project(':ijkplayer-armv7a')
all64Implementation project(':ijkplayer-arm64')
all64Implementation project(':ijkplayer-x86')
all64Implementation project(':ijkplayer-x86_64')
// compile 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
// compile 'tv.danmaku.ijk.media:ijkplayer-exo:0.8.8'
// all32Compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8'
// all32Compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
// all32Compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8'
// all64Compile 'tv.danmaku.ijk.media:ijkplayer-armv5:0.8.8'
// all64Compile 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
// all64Compile 'tv.danmaku.ijk.media:ijkplayer-arm64:0.8.8'
// all64Compile 'tv.danmaku.ijk.media:ijkplayer-x86:0.8.8'
// all64Compile 'tv.danmaku.ijk.media:ijkplayer-x86_64:0.8.8'
// armv5Compile project(':player-armv5')
// armv7aCompile project(':player-armv7a')
// arm64Compile project(':player-arm64')
// x86Compile project(':player-x86')
// x86_64Compile project(':player-x86_64')
}
其他修改
这时候你可以试着运行下,根据AS的报错信息进行修改
每个模块下的build.gradle,需要将complie修改成implementation。(不该不一定会报错)
错误之一及解法
编译成功后,运行例子
模拟器界面
点击Sample,然后点击其中一个例子。
有的不成功,都试试,有能播的
集成进项目
由于有很好的博文来讲这个了,就不自己写了(套娃)
集成参考:
按照上面步骤一步一步完成后,发现了Androidx和support冲突的问题,下面是解决方案:
需要一步一步对照表来更改库名称:
参考博客
标签:集成,0.8,ijkplayer,tv,Demo,project,android,com 来源: https://blog.csdn.net/casemate/article/details/114767343