全部產品
Search
文件中心

ApsaraVideo VOD:整合SDK

更新時間:Dec 06, 2025

如果您想實現如微短劇情境效果,只需要播放器組件,可參考本文瞭解Android播放器SDK整合方案。如果您還有製作短視頻的需求,建議您使用Android端一體化SDK進行整合,否則可能會出現類重複的問題,從而導致編譯失敗。

環境要求

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

  • 系統版本:支援Android 4.3及以上版本。

  • ABI 相容性:要求裝置架構為 armv7 或 arm64。

  • 使用限制:Android播放器SDK不支援模擬器,整合完成後需要真機運行。

前提條件

  • 登入並擷取包含播放器授權的License檔案AliVideoCert-********.crt。具體操作,請參見擷取License

  • 本地整合SDK時,需要先下載Android播放器SDK包,推薦下載最新版本。

步驟一:SDK整合

Gradle整合

說明

請確保網路正常,並且可以正常訪問阿里雲Maven倉庫。

  1. 添加Maven配置。

    1. Gradle 7.x 及以上版本整合

      在專案的setting.gradle檔案中進行如下配置:

      dependencyResolutionManagement {
          repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
          repositories {
              google()
              mavenCentral()
              jcenter() // 即將停用,建議逐步替換為 mavenCentral()
              maven { url "https://maven.aliyun.com/repository/releases" }
          }
      }
      dependencyResolutionManagement {
          repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
          repositories {
              google()
              mavenCentral()
              jcenter() // 即將停用,建議逐步替換為 mavenCentral()
              maven("https://maven.aliyun.com/repository/releases")
          }
      }
    2. Gradle 7.x 及以下版本整合

      在專案的build.gradle檔案中進行如下配置:

      allprojects {
          repositories {
              google()
              mavenCentral()
              jcenter() // 即將停用,建議逐步替換為 mavenCentral()
              maven { url "https://maven.aliyun.com/repository/releases" }
          }
      }
      allprojects {
          repositories {
              google()
              mavenCentral()
              jcenter() // 即將停用,建議逐步替換為 mavenCentral()
              maven("https://maven.aliyun.com/repository/releases")
          }
      }
  2. 引入播放器SDK。

    修改App的build.gradle檔案,dependencies節點中增加播放器SDK。樣本如下:

    說明

    請確保引入的播放器SDK版本號碼填寫正確,否則將報錯並引入失敗。播放器SDK的版本可以從Android播放器SDK發布歷史查看。

    dependencies {
        // AliPlayer 播放器SDK 
        implementation 'com.aliyun.sdk.android:AliyunPlayer:7.10.0-full'
    }
    dependencies {
        // AliPlayer 播放器SDK 
        implementation("com.aliyun.sdk.android:AliyunPlayer:7.9.0-full")
    }

本地整合

如果由於網路故障,無法從Maven倉庫下載到播放器SDK包,則建議通過本地整合方式來整合SDK。

說明

以下步驟以Android Studio Flamingo | 2022.2.1版本的Android Studio開發工具為例,其餘開發工具的操作步驟類似。

  1. 拷貝需要的aar包到工程的libs目錄下(如果沒有libs檔案夾,手動建立libs檔案夾即可)。

    圖片

  2. 修改Project下的build.gradle檔案,在allprojects的repositories節點中增加flatDir的設定,樣本如下:

    flatDir {
       dirs 'libs'
    }
  3. 修改App的build.gradle檔案,dependencies節點中增加對aar的引用和Conan的引用,樣本如下:

    dependencies {
          implementation fileTree(dir: 'libs', include: ['*.aar'])
    }

超低延時直播整合(可選)

如果您需要整合RTS超低延時直播組件,詳情請參見Android端實現RTS拉流

步驟二:License配置

重要

使用全球(不包含中國內地及港澳台)環境時,請選擇以下一種方式配置國際站環境。

  1. 方式一:調用下述介面更新預設配置為國際站環境。

    // 使用全球(不包含中國內地及港澳台)環境時,請確保在調用任何播放器API之前,已調用下述介面更新預設配置為國際站環境,以確保後續所有業務都是在國際站環境下運行
    // 通過AlivcBase統一介面,設定國際站環境,運行期間不支援修改
    AlivcBase.getEnvironmentManager().setGlobalEnvironment(AlivcEnv.GlobalEnv.ENV_SEA);
  2. 方式二(推薦)V7.6.0及以上播放器版本進行配置時,可通過XML方法配置國際站環境。

    AndroidManifest.xml檔案中添加<meta-data>節點。

    <meta-data
      android:name="com.aliyun.alivc_env"
      android:value="SEA"/>  

    配置樣本如下:1754556751170-7001527b-36a7-4ebd-8887-e0972a3d64e3

在Android端接入License,詳情請參見Android端接入License

步驟三:許可權配置

在 app/src/main/AndroidManifest.xml 中聲明所有需要的許可權:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

步驟四:混淆配置

可以在混淆規則檔案(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日誌

// 開啟日誌開關
Logger.getInstance(context).enableConsoleLog(true);
// 設定記錄層級,預設為AF_LOG_LEVEL_INFO,如需排查問題,可設定為AF_LOG_LEVEL_TRACE
Logger.getInstance(context).setLogLevel(Logger.LogLevel.AF_LOG_LEVEL_INFO);

專案結構說明

檔案名稱

說明

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衝突。

常見整合問題

更多關於播放器使用過程中出現的問題及解決方案,請參見播放器常見問題匯總