全部产品
云市场

Android集成文档

更新时间:2019-09-20 13:32:20

demo编译

环境要求

以下要求为硬性要求:

名称 作用
Android系统版本 >= Android 4.0
最小Android API版本 (API 14)
CPU架构支持 ARM64、ARMV7
集成工具 Android Studio

以下要求为非硬性要求, 仅仅是开发此Demo时的开发环境,目的是为了给编译运行源码的人员提供参考。

名称 作用
Android Studio版本 3.1.3
JRE 1.8.0_152-release-1024-b01 x86_64
JVM OpenJDK 64-Bit
gradle version gradle-4.4-all
gradle plugin version com.android.tools.build:gradle:3.0.1

demo下载

打开下载地址, 在长视频源码下载的表格里,请选择对应的包下载到本地。

目录结构说明

长视频目录结构

长视频的源码工程

模块名 作用
AlivcLongVideo 长视频业务相关代码
Aliyunplayer 和播放器相关的代码
AliyunVideoCommon 公共模块,主要是一些工具类
thirdparty-lib 主要包含Demo中所需要的第三方依赖

SDK

播放器SDK的aar包

名称 作用
AliyunPlayer-xxx-full.aar 包含播放器需要的所有类库
AliyunPlayer-xxx-part.aar 包含播放器所需要的核心类库
如果项目只集成了播放器的SDK,请使用full.aar包,如果项目中既集成了短视频,又集成了播放器,请使用part.aar包
也可以通过gradle依赖方式导入SDK:

implementation 'com.aliyun.sdk.android:AliyunPlayer:4.7.0-part'implementation 'com.aliyun.sdk.android:AliyunPlayer:4.7.0-full'

详情可以参考 播放器集成文档

开始编译

1.gradle下载

编译环境所需gradle版本为4.4,您可以通过gradle下载找到gradle4.4版本下载到本地路径并解压缩。gradle下载

2.导入项目

使用Android Studio > Open an existing Android Studio project打开下载的/demo目录下的ApsaraLongVideo工程。导入项目

3.配置本地gradle
  • 选择不使用gradle wrapper不使用gradle wrapper
  • 配置本地gradle路径,选择Step1解压缩的文件配置本地gradle
    4.编译运行
    编译成功后,单击“运行”,安装到对应符合硬件要求的手机上。tips:仅保证在真机上运行良好,暂不支持虚拟机。

集成长视频Demo

步骤1.拷贝文件

将下图文件拷贝到项目的根目录中:需要拷贝的文件

步骤2.配置gradle

  • 项目外层的Application的gradle配置:

    1. buildscript {
    2. repositories {
    3. google()
    4. jcenter()
    5. maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }
    6. //投屏的maven地址
    7. maven { url 'http://4thline.org/m2' }
    8. }
    9. apply from: 'thirdparty-lib/config.gradle'
    10. dependencies {
    11. classpath externalAndroidBuildGradlePlugin
    12. }
    13. }
    1. allprojects {
    2. repositories {
    3. google()
    4. jcenter()
    5. maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }
    6. //投屏的maven地址
    7. maven { url 'http://4thline.org/m2' }
    8. flatDir { dirs 'src/main/libs' }
    9. }
    10. }
  • gradle版本:
    1. distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
  • settings.gradle配置:增加如下代码:
    1. include ':AliyunVideoCommon'
    2. include ':Aliyunplayer:AlivcPlayerTools'
    3. include ':AlivcLongVideo'
    4. include ':AliyunVideoCommon'
  • app module下build.gradle的配置:
    1. implementation project (':AlivcLongVideo')
    2. implementation project (':AliyunVideoCommon')
    3. implementation project (':Aliyunplayer:AlivcPlayerTools')
    4. implementation externalAndroidAppCompatV7
    5. implementation externalAndroidSupportV4
    6. implementation externalAndroidRecyclerView
    7. implementation externalGSON
    8. implementation externalOKHTTP
    9. implementation externalAndroidMultiDex
  • 注意:如果报错,如下图所示错误,需要在app下的build.gradle里添加packagingOptions配置:
    1. android {
    2. defaultConfig {
    3. ...
    4. }
    5. buildTypes {
    6. ...
    7. }
    8. packagingOptions {
    9. exclude 'META-INF/beans.xml'
    10. }
    11. }
    配置完成运行报错

    步骤3.添加权限

    1. <uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
    2. <uses-permission android:name="android.permission.INTERNET"/>
    3. <uses-permission android:name="android.permission.VIBRATE"/>
    4. <uses-permission android:name="android.permission.RECORD_AUDIO"/>
    5. <uses-permission android:name="android.permission.CAMERA"/>
    6. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
    7. <uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
    8. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
    9. <uses-permission android:name="android.permission.GET_TASKS"/>
    10. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE"/>
    11. <uses-permission android:name="android.permission.CHANGE_WIFI_STATE"/>
    12. <uses-permission android:name="android.permission.WAKE_LOCK"/>
    13. <uses-permission android:name="android.permission.MODIFY_AUDIO_SETTINGS"/>
    14. <uses-permission android:name="android.permission.READ_PHONE_STATE"/>
    15. <uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
    16. <uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
    17. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
    18. <uses-permission android:name="android.permission.BLUETOOTH" />
    19. <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    20. <!--自动更新URI跳转安装时需要-->
    21. <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />

步骤4.功能使用

长视频的首页为AlivcHomeActivity,只需要调如下代码,就可以进入到长视频的首页

  1. Intent intent = new Intent(context,AlivcHomeActivity.class);
  2. context.startActivity(intent);

在长视频的Demo中,GlobalNetConstants类提供了一些请求接口信息的配置,用户可根据自己的后台请求接口来进行修改,其中包括STS信息的获取、播放资源等信息。