集成SDK

本文为您介绍Android短视频SDK的接口文档以及集成操作。

前提条件

开发前的环境要求如下表所示。

前提条件

类别

说明

系统版本

支持Android4.3及以上版本。

Java版本

支持Java1.7及以上版本。

API LEVEL

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

Android Studio版本

支持Android Studio 2.3以上版本,下载Android Studio

背景信息

短视频SDK分为专业版、标准版和基础版,各版本之间存在差异。更多信息,请参见短视频SDK产品介绍

Maven方式集成(推荐)

  1. 添加阿里云Maven仓库。

    项目级的build.gradle文件中添加Maven仓库地址。

    allprojects {
        repositories {
            maven {
                url 'http://maven.aliyun.com/nexus/content/repositories/releases/'
           }
        }
    }
  2. 在app工程目录下的build.gradle文件中加入对应依赖项,如下表所示。

    注意

    如果使用短视频SDK 3.24.0及以上版本,请务必使用FFmpeg 4.3.0及以上版本。

    版式

    Maven项目中依赖项

    专业版

    dependencies{
        implementation 'com.aliyun.video.android:svideopro:3.34.0'//专业版短视频SDK必须依赖。
        implementation 'com.aliyun.video.android:core:1.2.2' //核心库必须依赖。
        //AlivcFFmpeg必须依赖,且版本需要在4.3.0及以上,在以下两个版本中选择一个版本进行依赖。
        implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.2.0-part' //短视频SDK专用,包size较小。
        implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.2' //短视频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,如果不需要上传可不依赖。
    }

    标准版

    dependencies {
        implementation 'com.aliyun.video.android:svideostandard:3.34.0'//标准版短视频SDK必须依赖。
        implementation 'com.aliyun.video.android:core:1.2.2' //核心库必须依赖。
        //AlivcFFmpeg必须依赖,且版本需要在4.3.0及以上,在以下两个版本中选择一个版本进行依赖。
        implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.2.0-part' // 短视频SDK专用,包size较小。
        implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.2' //短视频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,如果不需要上传可不依赖。
    }

    基础版

    dependencies {
        implementation 'com.aliyun.video.android:svideosnap:3.34.0'//基础版短视频SDK必须依赖。
        implementation 'com.aliyun.video.android:core:1.2.2' //核心库必须依赖。
        //AlivcFFmpeg必须依赖,且版本需要在4.3.0及以上,在以下两个版本中选择一个版本进行依赖。
        implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.2.0-part' // 短视频SDK专用,包size较小。
        implementation 'com.aliyun.video.android:AlivcFFmpeg:4.3.2' //短视频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.**{*;}

相关文档

API接口信息,请参见API参考

后续步骤,请参见初始化SDK

阿里云首页 视频点播 相关技术圈