全部產品
Search
文件中心

ApsaraVideo Live:SDK下載/整合

更新時間:Feb 03, 2026

本文提供即時音視頻原子ARTC SDK下載連結,介紹如何整合SDK,以及SDK相關資訊。

SDK下載

開發人員:阿里雲計算有限公司

平台

下載

更新日期

安裝包增量

(以6.8.5 為例,不同版本之間有差異)

Android

2026-01-10

6.0 MB(arm64)

iOS

2026-01-10

6.5 MB(arm64)

Windows

2025-09-02

-

Mac

2025-12-01

Web端SDK整合請參見:快速使用阿里雲ARTC Web SDK

SDK整合

Android

環境準備

在整合 ARTC SDK 之前,請確保滿足如下開發環境:

  • Android Studio 2020.3.1 及以上版本。

  • Android 5.0(SDK API Level 21)及以上版本的測試裝置,且需要串連網路環境。

步驟一:匯入SDK

Maven自動整合(推薦)

  1. 開啟專案根目錄下的settings.gradle檔案,在dependencyResolutionManagement/repositories欄位中添加 ARTC SDK 所需的Maven地址,如下所示:

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        // 添加ARTC SDK所在的Maven地址
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
    }
}

注意,如果您使用的 Android Gradle Plugin 版本低於 7.1.0,可能無法在settings.gradle檔案中找到對應欄位,相關資訊請參考Android Gradle 外掛程式 7.1。此時,請採用如下方案作為替換:

Android Gradle Plugin 版本低於 7.1.0方案

開啟專案根目錄下的build.gradle檔案,在allprojects/repositories中添加對應 Maven倉庫地址,如下所示:

allprojects {
    repositories {
        ...
        // 添加ARTC SDK所在的Maven地址
        maven { url 'https://maven.aliyun.com/repository/google' }
        maven { url 'https://maven.aliyun.com/repository/public' }
    }
}
  1. 開啟app/build.gradle檔案,在dependencies中添加對 ARTC SDK 的依賴,你可以在SDK下載中擷取版本資訊,並將${latest_version}替換為具體版本號碼,最新版本7.10.0

dependencies {
    // 引入即時音視頻SDK依賴
    // ${latest_version}替換為具體版本號碼
    implementation 'com.aliyun.aio:AliVCSDK_ARTC:${latest_version}'
    // 7.4.0及以下版本需添加keep
    // implementation 'com.aliyun.aio.keep:keep:1.0.1'
}

如果使用的 Android Gradle Plugin 為 8.1 以上版本,Android Studio 推薦將依賴庫資訊遷移到版本目錄,相關資訊請參考遷移依賴專案到版本目錄

下載SDK手動整合

  1. SDK下載中下載所需版本的 ARTC SDK aar 檔案,最新版本7.10.0,例如AliVCSDK_ARTC-x.y.z.aar

  2. 將下載的 aar 檔案拷貝到您的專案目錄下,例如app/libs,如果沒有該檔案夾則建立。

  3. 開啟專案根目錄下的settings.gradle檔案,在dependencyResolutionManagement/repositories下添加 aar 所在檔案夾,如下所示:

dependencyResolutionManagement {
    repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
    repositories {
        google()
        mavenCentral()
        // 添加ARTC SDK所在位置的相對目錄
        flatDir {
            dir 'app/libs'
        }
    }
}

注意,如果您使用的 Android Gradle Plugin 版本低於 7.1.0,可能無法在settings.gradle檔案中找到對應欄位,相關資訊請參考Android Gradle 外掛程式 7.1。此時,請採用如下方案作為替換:

開啟專案根目錄下的build.gradle檔案,在allprojects/repositories中添加如下欄位:

allprojects {
    repositories {
        ...
        // 添加ARTC SDK所在位置的相對目錄
        flatDir {
            dir 'app/libs'
        }
    }
}
  1. 開啟app/build.gradle檔案,在dependencies下添加 aar 檔案的依賴,如下所示:

//x.y.z替換為對應版本號碼
implementation(name:'AliVCSDK_ARTC', version: 'x.y.z', ext:'aar')
  1. 構建後即可在 External Libraries 下產生對應依賴。

    image

步驟二:設定項目支援的 CPU 架構

開啟app/build.gradle檔案,在defaultConfig中指定專案支援的 CPU 架構,如下所示。可選架構包括armeabi-v7a、arm64-v8a、x86、x86_64,根據實際需要進行配置。

android {
    defaultConfig {
        // ...其他預設配置
        // 支援 armeabi-v7a 和 arm64-v8a 架構
        ndk {
             abiFilters "armeabi-v7a", "arm64-v8a"
        }
    }
}	

步驟三:設定許可權

根據實際需求設定應用所需的許可權,具體流程如下:

進入app/src/main目錄,開啟AndroidManifest.xml檔案,添加要求的權限。

<uses-feature android:name="android.hardware.camera" android:required="false" /> 
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!-- Request legacy Bluetooth permissions on older devices. -->
<uses-permission
  android:name="android.permission.BLUETOOTH"
  android:maxSdkVersion="30" />
<uses-permission
  android:name="android.permission.BLUETOOTH_ADMIN"
  android:maxSdkVersion="30" />

<!-- Needed only if your app communicates with already-paired Bluetooth devices. -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.CHANGE_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.WRITE_SETTINGS"
  tools:ignore="ProtectedPermissions" />
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />

藍芽許可權動態申請說明

ARTC SDK 內部 AndroidManifest.xml 中內建了部分許可權的聲明(對於動態許可權內部沒有申請的邏輯),其中 BLUETOOTH_CONNECT 許可權為 Android 12 開始引入的動態許可權。匯入 ARTC SDK 後下面的許可權會自動引入到 APK 中,但是仍推薦根據您的業務情境自行申請許可權。

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

根據您的業務情境,如果不需要下面的某項許可權,可以在您的主專案 AndroidManifest.xml 檔案中聲明移除:

<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove"/>

特別針對藍芽許可權:

情境一: 需要藍芽功能

應用targetSdk < 31

當您的專案 targetSdk < 31 時,藍芽功能由低版本許可權 BLUETOOTH 控制。可以在您的主應用中聲明:

<!-- 聲明藍芽許可權 -->
<uses-permission android:name="android.permission.BLUETOOTH" />
<!-- 覆蓋移除高版本API 31+ 許可權 -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" />
說明
  • SDK 中會內建BLUETOOTH_CONNECT許可權的聲明,而BLUETOOTH_CONNECT是Android 12(API 31)引入的許可權,需要在運行時通過requestPermissions動態申請。

  • 部分裝置上應用如果包含BLUETOOTH_CONNECT的聲明則要求動態申請該許可權,否則可能出現SecurityException異常,如果出現此類問題:

    • 方式一:通過 tools:node="remove"移除該許可權聲明。

    • 方式二:動態申請該許可權。

應用targetSdk >= 31

當您的專案 targetSdk >= 31 時,則需要考慮低版本和高版本的藍芽許可權。可在您的主應用AndroidManifest.xml中聲明許可權:

<!-- 聲明藍芽許可權並設定android:maxSdkVersion為30以相容更低版本裝置 -->
<uses-permission android:name="android.permission.BLUETOOTH"/>
<!-- 聲明高版本API 31+ 藍芽許可權 -->
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT"/>
<!-- 其他藍芽許可權 -->

同時,由於BLUETOOTH_CONNECT為動態許可權,需要在運行時主動申請許可權:

if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.S) {
    String[] permissions = {
        android.Manifest.permission.BLUETOOTH_CONNECT
    };
    ActivityCompat.requestPermissions(activity, permissions, REQUEST_BLUETOOTH);
}
情境二: 完全不需要藍芽功能

為了避免因藍芽許可權引發崩潰或彈窗提示,推薦移除不必要的藍芽許可權。

操作步驟:在主專案的AndroidManifest.xml中通過tools:node="remove"覆蓋移除許可權:

<!-- 覆蓋移除ARTC SDK中內建的藍芽許可權聲明 -->
<uses-permission android:name="android.permission.BLUETOOTH" tools:node="remove" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" tools:node="remove" />

其他許可權動態申請說明

Android 6.0(API 23)之後危險許可權需要動態申請,除了在AndroidManifest.xml檔案中靜態申請外,還需要在代碼運行時請求許可權。

其中部分許可權需要動態申請, 需要動態申請的許可權包含:

  • Manifest.permission.CAMERA

  • Manifest.permission.WRITE_EXTERNAL_STORAGE

  • Manifest.permission.RECORD_AUDIO

  • Manifest.permission.READ_EXTERNAL_STORAGE

  • Manifest.permission.READ_PHONE_STATE

當Android系統版本>=12(API_LEVEL>=31) 時, 需要額外動態申請以下許可權:

  • Manifest.permission.BLUETOOTH_CONNECT

可能涉及到的部分許可權說明如下:

許可權名

許可權說明

申請原因

必要性

是否動態許可權

CAMERA

網路攝影機許可權。

訪問裝置網路攝影機以採集視頻流。

Android >= 6.0

RECORD_AUDIO

麥克風許可權。

訪問裝置麥克風以採集音頻流。

Android >= 6.0

INTERNET

網路許可權。

音視頻資料通過網路傳輸(如 WebRTC等協議)。

ACCESS_NETWORK_STATE

允許應用擷取網路狀態。

監控網路連接狀態以最佳化音視頻傳輸品質,例如斷網重連。

按需

ACCESS_WIFI_STATE

允許應用擷取 WiFi 狀態。

擷取當前 WiFi 串連資訊以最佳化網路效能。

按需

MODIFY_AUDIO_SETTINGS

允許應用修改音頻配置。

調整系統音量、切換音訊輸出裝置等。

按需

BLUETOOTH

藍芽許可權(基礎功能)

串連藍牙裝置(如藍芽耳機)。

按需

BLUETOOTH_CONNECT

藍芽串連許可權

與已配對的藍牙裝置進行通訊(如傳輸音頻流)。

按需

android >= 12

READ_PHONE_STATE

允許應用訪問與裝置電話狀態相關的資訊

根據電話狀態啟停音頻。

按需

android >= 6.0

READ_EXTERNAL_STORAGE

允許應用讀取外部儲存中的檔案。

播放本地音樂等。

按需

android >= 6.0

WRITE_EXTERNAL_STORAGE

允許應用寫入外部儲存。

儲存音視頻檔案、日誌等。

按需

android >= 6.0

步驟四:防止混淆代碼(可選)

app/proguard-rules.pro檔案中,為 SDK 配置規則,防止 SDK 對外提供的介面被混淆導致無法正常調用。

-keep class com.aliyun.allinone.** {
*;
}

-keep class com.aliyun.rts.network.AliHttpTool {
*;
}

-keep class com.aliyun.common.AlivcBase {
*;
}

-keep class com.huawei.multimedia.alivc.** {
*;
}

-keep class com.alivc.rtc.** {
*;
}

-keep class com.alivc.component.** {
*;
}

-keep class org.webrtc.** {
*;
}

常見問題

ARTC SDK 是否會引入額外許可權?

匯入 ARTC SDK 後,會自動聲明以下 Android 許可權(具體列表可能因 SDK 版本而異,請以所整合的 .aar 檔案中 AndroidManifest.xml 的內容為準):

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.BLUETOOTH_CONNECT" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />

這些許可權主要用於支援網路狀態檢測、Wi-Fi 資訊擷取、藍芽串連及音頻路由等功能。

如何處理 SDK 許可權與現有代碼的相容性或衝突問題?

儘管 ARTC SDK 內部已對許可權進行了 Android 版本適配(例如針對 BLUETOOTH_CONNECT 在 Android 12+ (API 31)的運行時許可權要求),通常不會導致編譯錯誤,但仍可能在以下情境中引發問題:

  • 運行時行為異常:如Manifest 合并失敗;

  • Google Play 審核風險:若應用實際未使用某項功能卻聲明了相關許可權(如藍芽),可能違反最小許可權原則,導致上架被拒。

建議採取以下措施進行相容性處理:

  1. 評估許可權必要性
    首先評估你的應用是否確實需要 SDK 聲明的所有許可權。若某些功能(如藍芽)未被使用,可考慮移除對應許可權聲明,例如您的程式僅在 Android API 30 及以下裝置上運行(targetSdk 版本為 30 以下時,可以移除BLUETOOTH_CONNECT許可權的聲明)。

  2. 通過 Manifest 合并指令解決衝突
    若多個模組對同一許可權聲明了不同屬性(例如 maxSdkVersion 不一致),可在主 AndroidManifest.xml 中使用 tools 命名空間進行幹預:

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        xmlns:tools="http://schemas.android.com/tools">
        
        <!-- 樣本:移除 SDK 中聲明但應用不需要的許可權 -->
        <uses-permission 
            android:name="android.permission.BLUETOOTH_CONNECT"
            tools:node="remove" />
            
        <!-- 樣本:覆蓋許可權屬性 -->
        <uses-permission
            android:name="android.permission.BLUETOOTH"
            android:maxSdkVersion="30"
            tools:replace="android:maxSdkVersion" />
    </manifest>
    

iOS

環境準備

在開始整合 ARTC SDK 之前,請確保開發環境滿足以下要求:

  • Xcode 14.0 及以上版本,推薦使用最新正式版本。

  • CocoaPods 1.9.3 及以上版本。

  • 準備 iOS 9.0 及以上版本的真機。

步驟一:匯入SDK

CocoaPods 自動整合(推薦)

  1. 開啟終端,在您的開發裝置上安裝 CocoaPods 工具,如果您已經完成安裝,可以跳過此步驟。

sudo gem install cocoapods
  1. 開啟終端,進入專案根目錄,在終端視窗中輸入以下命令,建立 Podfile 檔案。

pod init
  1. 開啟並編輯產生的 Podfile檔案,添加RTC SDK依賴,最新版本7.10.0

target 'MyApp' do
  use_frameworks!
  # 將${latest version}替換為具體的版本號碼
  pod 'AliVCSDK_ARTC', '~> ${latest version}'
end
  1. 在終端視窗中輸入以下命令更新專案中的CocoaPods依賴庫。

pod install
  1. 成功執行後,專案檔夾下將產生一個尾碼為.xcworkspace的工程檔案,雙擊該檔案通過 Xcode開啟專案即可載入工作區自動整合 CocoaPods 依賴。

    image

下載SDK手動整合

  1. SDK下載中,擷取最新的 ARTC SDK 檔案並解壓。

  2. 將解壓後的 SDK 包內的 framework 檔案拷貝到專案目錄下。

  3. 使用 Xcode 開啟專案,選擇File -> Add Files to "xxx",菜單,添加 SDK 的庫檔案到專案。

    image

  4. 選擇目標,將匯入的 framework 檔案設定為"Embed & Sign"

image

步驟二:設定許可權

  • 務必添加錄音許可權和相機許可權

Info.plist檔案中添加網路攝影機和麥克風許可權Privacy - Camera Usage DescriptionPrivacy - Microphone Usage Description

image.png

  • 開啟音頻後台採集模式(可選)。

如圖所示,勾選Audio,AirPlay,and Picture in Picture即可。

image.png

Windows

環境準備

在開始整合 ARTC SDK 之前,請確保開發環境滿足以下要求:

  • Visual Studio 2015 或以上版本。

  • WIndows 7 或以上版本。

整合SDK

  1. SDK下載,擷取最新的 ARTC SDK 檔案。

  2. 解壓 ARTC SDK 檔案,並將目錄下的檔案拷貝到您的專案中。

  3. 設定項目屬性:

    1. 在方案總管視窗中,按右鍵專案,進入“屬性”介面。

    2. 添加包含目錄:選擇配置屬性(Configuration Properties) → C/C++ 常規(General),在附加元件封裝含目錄(Additional Include Directories)中添加標頭檔路徑。

    3. 添加庫目錄:在 Properties 視窗中,選擇配置屬性(Configuration Properties) → 連結器( Linker)→ 常規(General),在附加庫目錄( Additional Library Directories) 中添加庫檔案(.lib)的路徑,例如.../x64/Release

    4. 指定連結庫檔案:在 Properties 視窗中,選擇配置屬性(Configuration Properties)→ 連結器( Linker)→ 輸入(Input),在附加依賴項(Additional Dependencies)中添加需要連結的庫檔案名稱“AliRTCSdk.lib”。

Mac

環境準備

在開始整合 ARTC SDK 之前,請確保開發環境滿足以下要求:

  • 開發工具:Xcode 14.0 及以上版本,推薦使用最新正式版本。

  • 測試裝置:Mac 10.13 及以上版本的Mac裝置。

  • 網路環境:需要穩定的網路連接。

  • 應用準備:擷取即時音視頻應用的AppID和AppKey,詳情請參見建立應用

下載SDK手動整合

  1. SDK下載中,擷取最新的 ARTC SDK 檔案並解壓。

  2. 將 SDK 包內的檔案,拷貝到你的專案路徑下,如果不使用aac做音頻編碼,可以不添加PluginAAC.framework。

  3. 開啟 Xcode,添加對應動態庫,確保添加的動態庫 Embed 屬性設定為 Embed & Sign

發布歷史

版本號碼

平台

更新日期

修改內容

v7.10.0

iOS

2026-01-10

  • 修複:

    • RTC:穩定性問題修複。

Android

v7.9.1

iOS

2025-12-04

  • 最佳化:

    • 最佳化 RTC SDK 的效能,減少線程數量。

    • RTC SDK 新增預先載入能力。

  • 修複:

    • RTC:穩定性問題修複。

Android

v7.8.1

iOS

2025-11-12

  • 最佳化:

    • 最佳化使用者體驗。

  • 修複:

    • RTC:穩定性問題修複。

Android

v7.8.0

iOS

2025-11-05

  • 最佳化:

    • RTC:線程效能最佳化。

  • 修複:

    • RTC:穩定性問題修複。

Android

Mac

2025-12-01

v7.7.0

iOS

2025-09-30

  • 新增:

    • RTC:支援本地音視頻錄製MP4、AAC、WAV格式檔案。

    • RTC:Android焦點支援API26的新API,預設開啟。

  • 最佳化:

    • RTC:音頻資料監聽回調支援24K採樣率。

  • 修複:

    • RTC:穩定性修複。

Android

v7.6.0

iOS

2025-09-02

  • 新增:

    • RTC:新增訂閱音頻/視頻的黑白名單。

    • RTC:螢幕畫面分享 Android14支援。

  • 最佳化:

    • RTC:支援配置重採樣雙-單聲道轉換時使用右聲道。

    • RTC:AI情境下採集/推流優選使用16K。

  • 修複:

    • RTC:穩定性修複。

Android

Windows

V7.5.0

iOS

2025-07-31

  • 新增:

    • 增加關閉網路攝影機顯示黑幀的能力。

    • 增加螢幕畫面分享能力。

  • 最佳化:

    • 建立引擎耗時最佳化。

    • 網路引擎耗時最佳化。

  • 修複:

    • 修複Web推流,iOS拉流錯誤的問題。

Android

v7.4.0

iOS

2025-07-01

  • 最佳化3a效果。

  • 修複穩定性問題。

Android

v7.3.0

iOS

2025-05-30

  • RTC 低頻寬限速情境最佳化。

  • 修複穩定性問題。

Android

v7.2.1

Windows

2025-05-12

  • 音頻播放前支援重採樣。

  • 修複穩定性問題。

v7.2.0

iOS

2025-04-28

  • 音頻播放前支援重採樣。

  • 修複音頻麥克風靜音,Default與All設定均為靜音全部。

    說明

    若使用v6.18.0-v7.1.0版本升級到v7.2.0版本,請注意音頻靜音介面設定。

Android

v7.1.0

iOS

2025-04-01

  • 外部輸入PCM支援3A。

  • 支援H.265軟編能力。

  • 支援H.264軟編高畫質能力。

Android

2025-04-01

v7.0.0

iOS

2025-02-28

  • 音頻3a處理支援API配置。

  • 視頻解碼效能最佳化。

Android

Windows

2025-03-31

  • 大版本更新。

v6.21.0

iOS

2025-01-22

  • 完善AI即時通話情境資料統計能力。

Android

v6.20.0

iOS

2024-12-30

  • 最佳化音頻時延profile準確性,最佳化入會速度,解決部分穩定性問題。

Android

v6.19.0

iOS

2024-12-20

  • 最佳化語音全鏈路延遲profile的準確率、解決部分裝置適配問題。

Android

v6.18.0

iOS

2024-12-09

  • 針對AI+RTC情境,最佳化鏈路延遲、加快接通速度、支援語音全鏈路延遲profile。

Android

v6.17.0

iOS

2024-11-04

  • 針對AI+RTC情境,最佳化調度,降低延時。

  • 增加單獨設定網路攝影機採集幀率的介面。

Android

v6.15.0

iOS

2024-09-24

  • 最佳化鏈路抗弱網能力。

  • 提升視頻硬解碼適配性。

Android

Windows

  • 新增視窗螢幕畫面分享能力。

  • 新增265編碼能力。

v6.11.3

iOS

2024-09-14

針對AI+RTC情境,提供聊天室的AudioProfile,保證歡迎語完整播報。

Android

2024-09-14

v6.11.2

iOS

2024-08-16

  • 降低音視頻延遲。

  • 裁剪包大小。

Android

v6.8.7

iOS

2024-06-03

  • 最佳化推流重試策略,提升推流成功率。

Android

v6.8.5

iOS

2024-04-01

  • 支援房間維度跨房間訂閱。

Android

v6.8.2

iOS

2024-03-04

  • 移動端外置紋理/cvPixelBuffer輸入。

  • 增強網路容災能力。

Android

v6.8.1

Windows

2024-03-19

  • Windows SDK發布。

v6.4.3

iOS

2023-12-04

  • iOS&Android SDK 發布。

Android