集成准备
CPU架构支持:armeabi-v7a、arm64-v8a
支持Android最低版本:21
ndk版本:r23
为防止SDK在未授权的情况下被使用,其内部进行了安全鉴权。只有在鉴权通过后,SDK的相关功能方可正常使用。
鉴权文件的获取方法:
接入方需要将鉴权文件放到项目assets文件夹内,初始化播放SDK,SDK内部即可完成鉴权并回调鉴权结果。以下情形会导致鉴权失败:
keytool -v -list -keystore your.keystore
通过上面命令查看相应签名MD5
为保证多个开发者在个人debug环境下通过鉴权,建议在项目中配置debug环境下的签名文件(签名MD5需提供给我方服务工程师添加鉴权)并提交至远程仓库。使得多个开发者在debug环境下使用固定的签名文件,避免产生鉴权失败问题。
配置方式:
1.在Android studio 的Build菜单下Generate Signed APK生成签名keystore文件
2.将keystore文件放置在项目app文件夹内并提交到仓库
3.配置app/build.gradle文件如下
signingConfigs {
debugConfig {
storeFile file(project.projectDir.toString() + '/debug.keystore')
storePassword 'your password'
keyAlias 'your Alias'
keyPassword 'your password'
v1SigningEnabled true//
v2SigningEnabled true//
}
}
buildTypes {
debug {
signingConfig signingConfigs.debugConfig
...
}
}
KSMediaPlayer-Android
├── Demo
├── KSMediaPlayer-1.8.0.11.aar
│ └──jni
│ ├── libkwaiplayer_aio.so
│ └── libcpu-info.so
│ └──assets
│ └── video_yh_loading_icon.png
└──Readme.md
支持libkwaiplayer_aio.so动态下发。提供aar包含全部so,按照下面配置即可移除libkwaiplayer_aio.so,开启so动态下发:
android {
packagingOptions {
exclude('lib/armeabi-v7a/libkwaiplayer_aio.so')
exclude('lib/arm64-v8a/libkwaiplayer_aio.so')
}
}
注意事项,在libkwaiplayer_aio.so加载成功前:
在app的assets目录下添加so下载配置:sodler.json,内容格式如下:
{
"plugins": [
{
"abiPacks": {
"arm64-v8a": {
"md5": "4de0239f64691eab8f8c049c8118603f",
"soMd5": [
{
"soMd5": "20c3b3d511b6563ce0a60464ca64a251",
"soName": "libkwaiplayer_aio.so"
}
],
"url": "https://s2-10924.kwimgs.com/kos/nlav10924/temp-arm-64_4de0239f64691eab8f8c049c8118603f.zip",
"version": "4de0239f64691eab8f8c049c8118603f"
},
"armeabi-v7a": {
"md5": "46596ea00b5b4ca3450d3acf4ae9cb3e",
"soMd5": [
{
"soMd5": "c0383e43b6d1582867fe45d86e31f9dd",
"soName": "libkwaiplayer_aio.so"
}
],
"url": "https://s2-10924.kwimgs.com/kos/nlav10924/temp-arm-v7_46596ea00b5b4ca3450d3acf4ae9cb3e.zip",
"version": "46596ea00b5b4ca3450d3acf4ae9cb3e"
}
},
"enable": true,
"pluginId": "kwaiplayer"
}
]
}
播放器的弹幕防挡模块依赖kotlin标准库,使用弹幕防挡需要配置如下。
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"