系统版本

支持Android4.3及以上版本。

开发环境

支持Java1.7及以上版本、ANDROID SDK API LEVEL 18及以上版本。

接口文档

SDK版本

短视频SDK分为专业版、标准版和基础版,版本之间的差异见短视频SDK产品介绍

SDK集成

SDK通过Maven方式集成(推荐方式)

添加阿里云Maven仓库

build.gradle中添加Maven仓库地址:
allprojects {
    repositories {
        maven {
            url 'http://maven.aliyun.com/nexus/content/repositories/releases/'
       }
    }
}
在Maven项目中加入对应依赖项:
版式 Maven项目中依赖项
专业版
dependencies{
    implementation 'com.aliyun.video.android:svideopro:3.17.0'//短视频专业版SDK必须依赖
    implementation 'com.aliyun.video.android:core:1.2.2' //核心库必须依赖
    implementation  'com.alivc.conan:AlivcConan:1.0.3'//核心库必须依赖
    implementation  'com.aliyun.video.android:AlivcFFmpeg:2.0.0'//必须依赖
    implementation  'com.aliyun.video.android:upload:1.6.0'// 上传库,如不需要上传可不依赖
}
标准版
dependencies {
    implementation 'com.aliyun.video.android:svideostandard:3.17.0'//短视频标准版SDK必须依赖
    implementation 'com.aliyun.video.android:core:1.2.2' //核心库必须依赖
    implementation  'com.alivc.conan:AlivcConan:1.0.3'//核心库必须依赖
    implementation  'com.aliyun.video.android:AlivcFFmpeg:2.0.0'//必须依赖
    implementation  'com.aliyun.video.android:upload:1.6.0'// 上传库,如不需要上传可不依赖
}
基础版
dependencies {
    implementation 'com.aliyun.video.android:svideosnap:3.17.0'//短视频基础版SDK必须依赖
    implementation 'com.aliyun.video.android:core:1.2.2' //核心库必须依赖
    implementation  'com.alivc.conan:AlivcConan:1.0.3'//核心库必须依赖
    implementation  'com.aliyun.video.android:AlivcFFmpeg:2.0.0'//必须依赖
    implementation  'com.aliyun.video.android:upload:1.6.0'// 上传库,如不需要上传可不依赖
}
说明 目前短视频SDK仅包含armeabi-v7a和arm64-v8a指令集的SDK,如需要armeabi的指令集的so建议直接通过armeabi-v7a的so拷贝至armeabi以此兼容。需要说明的是考虑到Android的发展和短视频SDK支持仅4.3以上,所以ARMv5、ARMv6 设备兼容意义不大。

SDK手动集成

导入aar

  1. 选择File - New - Newmodule,如下图所示,以Library的形式新建Module,示例名:AliyunSvideoLibrarySDK_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.0'
    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以上系统需要做动态权限请求。

混淆配置

######################短视频混淆配置#########################
-keep class com.aliyun.**{*;}
-keep class com.duanqu.**{*;}
-keep class com.qu.**{*;}
-keep class com.alibaba.**{*;}
-keep class component.alivc.**{*;}
-keep class com.alivc.**{*;}