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)
-
In your project-level
build.gradlefile, add the Maven repository URL.maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" } -
In your app-level
build.gradlefile, add the SDK dependency to thedependenciesnode.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
-
Download a scenario-based SDK for Android.
-
Copy the SDK
.aarfile to thelibsdirectory of your app module. -
In the project-level
build.gradlefile, add theflatDirconfiguration to therepositoriesnode under theallprojectsblock.flatDir { dirs 'libs' } -
In your app-level
build.gradlefile, add the AAR reference to thedependenciesblock.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.