All Products
Search
Document Center

Apsara Video SDK:Android

Last Updated:Dec 05, 2025

This topic describes how to integrate the MediaBox audio and video software development kit (SDK) for Android.

Notes

To upgrade from an SDK version of v6.6.0 or earlier to v6.7.0 or later, see Announcement on integration changes for retouching and effects in A/V Terminal SDK V6.7.0.

Environment requirements

Category

Description

Development tool

Use Android Studio. Download it from Android Studio.

Android version

Android 5.0 or later.

Step 1: Integrate the SDK

Maven integration (recommended)

  1. Modify the build.gradle file of your project to add the Maven repository address.

    maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" }
  2. Modify the build.gradle file of your app to add the SDK dependency in the dependencies node.

    The SDK version number in this topic is for reference only. To obtain the latest version, see Scenario-specific SDKs.

    // Choose one of the following four scenarios to integrate as needed.
    
    // 1. Standard all-in-one SDK: Player, ultra-low latency live streaming, live streaming, short video, RTC co-streaming, and basic retouching.
    implementation 'com.aliyun.aio:AliVCSDK_Standard:7.9.1'
    // 2. Basic live streaming SDK: Player, stream ingest, basic retouching, and ultra-low latency live streaming.
    implementation 'com.aliyun.aio:AliVCSDK_BasicLive:7.9.1'
    // 3. Short video scenario SDK: Player, short video, and basic retouching.
    implementation 'com.aliyun.aio:AliVCSDK_UGC:7.9.1'
    // 4. Interactive live streaming SDK: Player, ultra-low latency live streaming, stream ingest, RTC co-streaming, and basic retouching.
    implementation 'com.aliyun.aio:AliVCSDK_InteractiveLive:7.9.1'

Manual integration

  1. Download the specified scenario-specific SDK for Android.

  2. Copy the *.aar SDK file to the libs folder of your app module.

  3. Modify the build.gradle file of your project. Add the flatDir configuration to the repositories node in the allprojects block.

    flatDir {
       dirs 'libs'
    }
  4. Modify the build.gradle file of your app. Add the AAR reference in the dependencies node.

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

Step 2: Configure license authorization

When you first integrate the SDK, you must manage your license and configure license authorization.

Step 3: Configure app permissions

Modify the src/main/AndroidManifest.xml file of your app to configure app permissions.

<!-- Permissions for short video -->
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.CAMERA" />
<uses-permission android:name="android.permission.FLASHLIGHT" />
<uses-permission android:name="android.permission.RECORD_VIDEO" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

<!-- Permissions for live streaming -->
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.REORDER_TASKS" />
<uses-permission android:name="android.permission.VIBRATE" />
<uses-permission android:name="android.permission.RECORD_AUDIO" />  <!-- Add audio recording permission -->
<uses-permission android:name="android.permission.CAMERA" />  <!-- Add camera permission -->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
<uses-permission android:name="android.permission.CHANGE_WIFI_STATE" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />

Step 4: Configure obfuscation rules

Modify the proguard-rules.pro file of your app to add obfuscation rules.

###################### Obfuscation rules for the player #########################
-keep class com.alivc.**{*;}
-keep class com.aliyun.**{*;}
-keep class com.cicada.**{*;}
-dontwarn com.alivc.**
-dontwarn com.aliyun.**
-dontwarn com.cicada.**

###################### Obfuscation rules for short video #########################
-keep class com.aliyun.**{*;}
-keep class com.duanqu.**{*;}
-keep class com.qu.**{*;}
-keep class com.alibaba.**{*;}
-keep class component.alivc.**{*;}
-keep class com.alivc.**{*;}
-keep class org.webrtc.**{*;}
-keep class org.ugsv.**{*;}

###################### Obfuscation rules for live streaming #########################
-keep class com.alivc.** { *;}
-keep class com.aliyun.rts.network.* { *;}
-keep class org.webrtc.ali.** {*;}
-keep class org.webrtc.utils.** {*;}

FAQ

For more information, see the feature-specific sections in FAQ.