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)
Modify the build.gradle file of your project to add the Maven repository address.
maven { url "https://maven.aliyun.com/nexus/content/repositories/releases" }Modify the build.gradle file of your app to add the SDK dependency in the
dependenciesnode.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
Download the specified scenario-specific SDK for Android.
Copy the *.aar SDK file to the libs folder of your app module.
Modify the build.gradle file of your project. Add the
flatDirconfiguration to therepositoriesnode in theallprojectsblock.flatDir { dirs 'libs' }Modify the build.gradle file of your app. Add the AAR reference in the
dependenciesnode.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.