快速集成

本文介绍Android播放器SDK的环境要求、集成方式及使用参考。

环境要求

  • 建议使用最新版本的 Android Studio。下载地址:Android Studio

  • 系统版本:支持Android 4.3及以上版本。

  • ABI 兼容性:要求设备架构为 armv7 或 arm64。

  • 使用限制Android播放器SDK不支持模拟器,集成完成后需要真机运行。

前提条件

  • 已注册并获取包含播放器授权的License文件AliVideoCert-********.crt。具体操作,请参见获取License

  • 本地集成SDK时,需要先下载Android播放器SDK包(包含了播放器SDKDemo源码),从V5.4.6.0版本开始Android播放器SDK提供了支持AndroidX和不支持AndroidXDemo,请根据您的项目按需选择下载,推荐下载使用最新版本。下载地址请参见播放器SDK

SDK集成(本地集成)

说明

以下步骤以Android Studio Flamingo | 2022.2.1版本的Android Studio开发工具为例,其余开发工具的操作步骤类似。

  1. 拷贝需要的aar包到工程的libs目录下(如果没有libs文件夹,手动创建libs文件夹即可)。

    图片

  2. 修改Project下的build.gradle文件,在allprojectsrepositories节点中增加flatDir的设置,示例如下:

    flatDir {
       dirs 'libs'
    }
  3. 修改Appbuild.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'
    }
  4. 混淆配置。

    AppProguard-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集成(本地集成)

  1. Projectbuild.gradle中增加阿里云的Maven地址依赖。示例如下:

    maven { url "https://maven.aliyun.com/repository/releases" }

    操作后的截图如下:2024-07-17_165101.png

  2. 修改Appbuild.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

  1. 配置License。

    1. (推荐)将证书文件拷贝到Android Studio项目中的assets目录下。

      说明

      您也可以将证书文件复制到设备中的其他位置,但要保证下一步中com.aliyun.alivc_license.licensefile(全球环境)或com.aliyun.alivc_license.licensefile_SEA(国际站环境)对应的value的值和License的路径保持一致。

    2. AndroidManifest.xml文件中添加<meta-data>节点。

      重要
      • 若配置License后校验失败,您可以检查<meta-data>节点是否处于<application>元素下面,且<meta-data>的name是否正确。若未能解决问题,您可以参考License相关常见问题进行排查。

      • 针对国际站用户,若需使用播放器SDK,且播放器SDK6.14.0及以上版本,请务必配置国际站环境License;若不使用播放器SDK,可以仅配置全球环境License。

      • 您可以同时接入2License(1套全球环境License,1套国际站环境License),后续在App每次启动后,通过配置播放器SDK的服务环境,来指定播放器的运行环境。播放器运行过程中,不支持切换环境。

      License配置-android-EN3.png

      // 全球环境配置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文件路径-->
  2. 配置播放器SDK的服务环境(使用国际站环境必配)。

    播放器SDK6.14.0版本开始支持选择服务环境,6.14.0及以上版本的播放器SDK默认为全球环境配置,如需使用国际站环境(目前国际站用户仅支持使用国际站环境),则须在每次App启动后,按照下述方法将播放器SDK配置更新为国际站环境,否则播放器SDKLicense会鉴权失败;其他版本及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冲突。

常见集成问题

播放器问题

功能使用文档

基础功能

进阶功能