All Products
Search
Document Center

Apsara Video SDK:Android

Last Updated:Jan 12, 2026

This topic describes how to quickly integrate the MediaBox SDK for audio and video on Android.

Usage notes

To upgrade from SDK v6.6.0 or earlier to v6.7.0 or later, see Announcement on integration changes for retouching effects in Media SDK for audio and video V6.7.0.

Environment requirements

Category

Description

Development tool

Android Studio is recommended. Download it from the Android Studio website.

Android version

Android 5.0 or later.

Step 1: Integrate the SDK

Maven integration (Recommended)

  1. Modify the project's build.gradle file to add the Maven repository address.

    maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" }
  2. Modify the app's build.gradle file 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 SDKs to integrate as needed.
    
    // 1. All-in-one SDK: Player + Real-Time Streaming (RTS) + Live + Short Video + RTC Co-streaming + Basic Retouching
    implementation 'com.aliyun.aio:AliVCSDK_Standard:7.10.0'
    // 2. Basic Live SDK: Player + Stream Ingest + Basic Retouching + RTS
    implementation 'com.aliyun.aio:AliVCSDK_BasicLive:7.10.0'
    // 3. Short Video SDK: Player + Short Video + Basic Retouching
    implementation 'com.aliyun.aio:AliVCSDK_UGC:7.10.0'
    // 4. Interactive Live SDK: Player + RTS + Stream Ingest + RTC Co-streaming + Basic Retouching
    implementation 'com.aliyun.aio:AliVCSDK_InteractiveLive:7.10.0'

Manual integration

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

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

  3. Modify the project's build.gradle file to add the flatDir configuration to the repositories node in allprojects.

    flatDir {
       dirs 'libs'
    }
  4. Modify the app's build.gradle file to 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 licenses 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 permission for audio recording -->
<uses-permission android:name="android.permission.CAMERA" />  <!-- Add permission for camera -->
<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 app's proguard-rules.pro file to add obfuscation rules.

###################### Obfuscation rules for 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 sections for each feature in FAQ.