全部產品
Search
文件中心

ApsaraVideo VOD:整合SDK

更新時間:Sep 19, 2024

本文為您介紹Android短視頻SDK的Maven整合方式和手動整合方式。

前提條件

開發前的環境要求如下表所示。

類別

說明

系統版本

支援Android4.3及以上版本。

Java版本

支援Java1.7及以上版本。

API LEVEL

支援ANDROID SDK API LEVEL 18及以上版本。

Android Studio版本

支援Android Studio 2.3以上版本,下載Android Studio

Maven方式整合(推薦)

  1. 添加阿里雲Maven倉庫。

    專案級的build.gradle檔案中添加Maven倉庫地址。

    allprojects {
        repositories {
            maven {
                url 'https://maven.aliyun.com/nexus/content/repositories/releases/'
           }
        }
    }
  2. 在Maven專案中加入依賴項。

    dependencies{
        implementation 'com.aliyun.video.android:svideopro:6.15.0'//專業版短視頻SDK必須依賴。
        implementation 'com.aliyun.video.android:core:1.2.2' //核心庫必須依賴。
        //AlivcFFmpeg必須依賴,且版本需要在4.3.0及以上,在以下兩個版本中選擇一個版本進行依賴。
        implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.6.0-part' //短視頻SDK專用,包size較小。
        implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.6' //短視頻SDK與播放器SDK共用。兩個SDK同時接入時,請用該版本。
        implementation 'com.aliyun.video.android:upload:1.6.6' //上傳庫,如不需要上傳可不依賴。
        implementation 'com.google.code.gson:gson:2.8.0'//第三方依賴庫。
        implementation 'com.squareup.okhttp3:okhttp:3.2.0'//第三方依賴庫。
        implementation 'com.aliyun.dpa:oss-android-sdk:+'//短視頻上傳需要依賴上傳SDK及OSS,如果不需要上傳可不依賴。
    }

說明

目前短視頻SDK僅包含armeabi-v7a和arm64-v8a指令集的SDK,如需要armeabi的指令集的so建議直接通過armeabi-v7a的so拷貝至armeabi以此相容。需要說明的是考慮到Android的發展和短視頻SDK僅支援4.3以上,所以ARMv5、ARMv6裝置相容意義不大。

手動方式整合

步驟一:匯入aar

  1. 建立Module。

    Android Studio中選擇File > New > Newmodule,建立Library形式的Module。樣本名:AliyunSvideoLibrary。

    SDK_1

  2. 將下載的SDK目錄中的AliyunSdk-RCE.aar、AlivcConan-x.x.x.aar、AlivcCore.jar拷貝至建立的Module以module的方式添加到工程中。

    SDK_2

  3. 通過gradle添加AAR和jar包依賴。

    dependencies {
     implementation fileTree(include: ['*.jar','*.aar'], dir: 'libs')
    }
  4. 在app module中添加AliyunSvideoLibrary Module的依賴。

     dependencies {
        implementation project(":AliyunSvideoLibrary")
    }

步驟二:匯入.so檔案

  1. 將SDK解壓包中的jniLibs目錄拷貝到app module的main目錄中,並且在app module的build.gradle檔案中聲明jniLibs的路徑。

    範例程式碼如下所示。

    android {
     sourceSets.main {
         jni.srcDirs = []
         jniLibs.srcDir "src/main/jniLibs" 
     }
    }
  2. SDK載入的動態連結程式庫。

    在最新的版本中已經在SDK內部載入,不需要使用者手動載入。

    庫檔案說明如下所示。

    libalivcffmpeg.so-------------SDK依賴的第三方庫(必須load)
    libaliresample.so-------------------音頻重採樣相關的庫(不需要可以去掉)
  3. 添加上傳依賴項。

    短視頻上傳需要依賴上傳SDK及OSS,如果不需要可不添加。

    implementation 'com.aliyun.video.android:upload:1.6.4'
    implementation 'com.google.code.gson:gson:2.8.0'
    implementation 'com.squareup.okhttp3:okhttp:3.2.0'
    implementation 'com.aliyun.dpa:oss-android-sdk:+'
  4. 初始化相關配置。

    在App的Application類onCreate方法中調用,範例程式碼如下所示。

    com.aliyun.vod.common.httpfinal.QupaiHttpFinal.getInstance().initOkHttpFinal();

配置許可權

<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" />
說明

Android 6.0以上系統需要做動態許可權請求。

配置License

擷取到License後,需要按以下操作配置License檔案。License的擷取及詳細資料請參見擷取短視頻SDK License

在AndroidManifest.xml檔案中添加兩個meta-data,第一個key的name為com.aliyun.alivc_license.licensekey(全小寫),value為LicenseKey的值;第二個key的name為com.aliyun.alivc_license.licensefile(全小寫),value為內建認證檔案的路徑。範例程式碼如下所示:

<application
   android:icon="@drawable/icon"
   android:label="@string/app_name" >
    <meta-data
         android:name="com.aliyun.alivc_license.licensekey"
         android:value="yourLicenseKey"/> //請輸入您的LicenseKey的值
    <meta-data
       android:name="com.aliyun.alivc_license.licensefile"
       android:value="yourLicenseFile"/> //請輸入您的內建認證檔案的路徑,取值樣本:assets/alivc_license/AliVideoCert.crt
  ……
</application>

混淆配置

可以在proguard-rules.pro檔案中進行混淆配置。範例程式碼如下所示:

######################短視頻混淆配置#########################
-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.**{*;}

後續步驟

初始化SDK

相關文檔