本文介绍Android播放器SDK的环境要求、集成方式及使用参考。
环境要求
建议使用最新版本的 Android Studio。下载地址:Android Studio。
系统版本:支持Android 4.3及以上版本。
ABI 兼容性:要求设备架构为 armv7 或 arm64。
使用限制Android播放器SDK不支持模拟器,集成完成后需要真机运行。
前提条件
SDK集成(本地集成)
以下步骤以Android Studio Flamingo | 2022.2.1版本的Android Studio开发工具为例,其余开发工具的操作步骤类似。
拷贝需要的aar包到工程的libs目录下(如果没有libs文件夹,手动创建libs文件夹即可)。
修改Project下的build.gradle文件,在allprojects的repositories节点中增加flatDir的设置,示例如下:
flatDir { dirs 'libs' }
修改App的build.gradle文件,dependencies节点中增加对aar的引用和Conan的引用,示例如下:
dependencies { implementation fileTree(dir: 'libs', include: ['*.aar']) //阿里云播放器5.3.0 版本以前需要引入AlivcConan库,5.3.0及其以后的版本不需要引入。 implementation 'com.alivc.conan:AlivcConan:x.x.x' }
混淆配置。
在App的Proguard-rules.pro文件中添加以下混淆配置,示例如下:
-keep class com.alivc.**{*;} -keep class com.aliyun.**{*;} -keep class com.cicada.**{*;} -dontwarn com.alivc.** -dontwarn com.aliyun.** -dontwarn com.cicada.**
SDK集成(Gradle集成)
请确保网络正常,并且可以正常访问阿里云Maven仓库。如果由于网络故障,无法从Maven仓库下载到播放器SDK包,则建议通过本地集成方式来集成SDK,详细请参见SDK集成(本地集成)。
在Project的build.gradle中增加阿里云的Maven地址依赖。示例如下:
maven { url "https://maven.aliyun.com/repository/releases" }
操作后的截图如下:
修改App的build.gradle文件,dependencies节点中增加依赖。示例如下:
说明请确保引入的播放器SDK版本号填写正确,否则将报错并引入失败。播放器SDK的版本可以从Android播放器SDK发布历史查看。
implementation 'com.aliyun.sdk.android:AliyunPlayer:x.x.x-full' //阿里云播放器5.3.0 版本以前需要引入AlivcConan库,5.3.0及其以后的版本不需要引入 implementation 'com.alivc.conan:AlivcConan:x.x.x'
操作后的截图如下:
Android端接入License
配置License。
(推荐)将证书文件拷贝到Android Studio项目中的assets目录下。
说明您也可以将证书文件复制到设备中的其他位置,但要保证下一步中
com.aliyun.alivc_license.licensefile
(全球环境)或com.aliyun.alivc_license.licensefile_SEA
(国际站环境)对应的value的值和License的路径保持一致。在AndroidManifest.xml文件中添加<meta-data>节点。
重要若配置License后校验失败,您可以检查<meta-data>节点是否处于<application>元素下面,且<meta-data>的name是否正确。若未能解决问题,您可以参考License相关常见问题进行排查。
针对国际站用户,若需使用播放器SDK,且播放器SDK为6.14.0及以上版本,请务必配置国际站环境License;若不使用播放器SDK,可以仅配置全球环境License。
您可以同时接入2套License(1套全球环境License,1套国际站环境License),后续在App每次启动后,通过配置播放器SDK的服务环境,来指定播放器的运行环境。播放器运行过程中,不支持切换环境。
// 全球环境配置License(默认配置) <meta-data android:name="com.aliyun.alivc_license.licensekey" android:value="foIVziMaUHaRqgDyhf6b6eb8fcf014af39535d0720a32****"/> <!-- TODO:请设置您的 LicenseKey值--> <meta-data android:name="com.aliyun.alivc_license.licensefile" android:value="assets/cert/release.crt"/> <!-- TODO:请设置您的 LicenseFile文件路径--> // 国际站环境配置License,手动在末尾添加_SEA <meta-data android:name="com.aliyun.alivc_license.licensekey_SEA" android:value="f6b6foIVziMaUHaRqgDyheb8fcf014af39535d0a32720****"/> <!-- TODO:请设置您的 LicenseKey值--> <meta-data android:name="com.aliyun.alivc_license.licensefile_SEA" android:value="assets/cert/release.crt"/> <!-- TODO:请设置您的 LicenseFile文件路径-->
配置播放器SDK的服务环境(使用国际站环境必配)。
播放器SDK自6.14.0版本开始支持选择服务环境,6.14.0及以上版本的播放器SDK默认为全球环境配置,如需使用国际站环境(目前国际站用户仅支持使用国际站环境),则须在每次App启动后,按照下述方法将播放器SDK配置更新为国际站环境,否则播放器SDK的License会鉴权失败;其他版本及SDK的使用场景下,可忽略此步骤。
// 使用国际站环境时,请确保在调用任何播放器API之前,已调用下述接口更新默认配置为国际站环境,以确保后续所有业务都是在国际站环境下运行 // 通过AlivcBase统一接口,设置国际站环境,运行期间不支持修改 AlivcBase.getEnvironmentManager().setGlobalEnvironment(AlivcEnv.GlobalEnv.ENV_SEA);
项目结构说明
文件名 | 说明 |
AliyunPlayer-x.x.x-full.aar | 完整的aar包,包含了FFmpeg动态库的包。 |
AliyunPlayer-x.x.x-part.aar | aar包,不包含FFmpeg的动态库的包。 |
AlivcArtp-x.x.x.aar | 支持artp协议,非必须。 |
AlivcArtc-x.x.x.aar | 支持artc协议,非必须。 |
如果不集成短视频SDK,直接依赖AliyunPlayer-x.xx.x-full.aar包即可。
如果集成播放器的同时,也集成短视频SDK,那么播放器的SDK依赖AliyunPlayer-x.x.x-part包,同时使用共通的FFmpeg版本,即需要额外依赖com.aliyun.video.android:AlivcFFmpeg:x.x.x这个包。
如果集成时使用了错误的SDK包,会导致FFmpeg冲突。