Android

更新时间:
复制 MD 格式

Quickly integrate the ApsaraVideo MediaBox SDK into your Android app.

Important

If you upgrade from SDK v6.6.0 or earlier to v6.7.0 or later, review the Updates on the integrated retouching effects of ApsaraVideo MediaBox SDK V6.7.0.

Environment requirements

Item

Description

Development tool

Android Studio (recommended).

Android version

Android 5.0 (API level 21) or later.

Step 1: Integrate the SDK

Integrate using Maven (recommended)

  1. In your project-level build.gradle file, add the Maven repository URL.

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

    The version shown is for reference only. Get the latest version from Select and download SDKs.

    // Choose one of the following four scenario-based SDKs based on your business requirements.
    
    // 1. All-in-one SDK: Includes playback, real-time streaming, standard live streaming, short video, RTC co-streaming, and basic retouching.
    implementation 'com.aliyun.aio:AliVCSDK_Standard:7.11.0'
    // 2. Basic live streaming SDK: Includes playback, live stream ingest, basic retouching, and real-time streaming.
    implementation 'com.aliyun.aio:AliVCSDK_BasicLive:7.11.0'
    // 3. Short video SDK: Includes playback, short video, and basic retouching.
    implementation 'com.aliyun.aio:AliVCSDK_UGC:7.11.0'
    // 4. Interactive streaming SDK: Includes playback, real-time streaming, live stream ingest, RTC co-streaming, and basic retouching.
    implementation 'com.aliyun.aio:AliVCSDK_InteractiveLive:7.11.0'

Manual integration

  1. Download a scenario-based SDK for Android.

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

  3. In the project-level build.gradle file, add the flatDir configuration to the repositories node under the allprojects block.

    flatDir {
       dirs 'libs'
    }
  4. In your app-level build.gradle file, add the AAR reference to the dependencies block.

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

Step 2: Configure the SDK license

Before your first integration, purchase a license and bind it to your app.

Step 3: Configure app permissions

Add the required permissions to your src/main/AndroidManifest.xml file.

<!-- 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 standard 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 the microphone permission-->
<uses-permission android:name="android.permission.CAMERA" />  <!-- Add the 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

Add the following rules to your proguard-rules.pro file.

###################### Obfuscation rules for playback #########################
-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 standard live streaming #########################
-keep class com.alivc.** { *;}
-keep class com.aliyun.rts.network.* { *;}
-keep class org.webrtc.ali.** {*;}
-keep class org.webrtc.utils.** {*;}

FAQ

The FAQ covers feature-specific questions.