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版本下载到本地路径并解压缩。
2.导入项目
使用Android Studio > Open an existing Android Studio project打开下载的/demo目录下的ApsaraLongVideo工程。
3.配置本地gradle
- 选择不使用gradle wrapper
- 配置本地gradle路径,选择Step1解压缩的文件
4.编译运行
编译成功后,单击“运行”,安装到对应符合硬件要求的手机上。tips:仅保证在真机上运行良好,暂不支持虚拟机。
集成长视频Demo
步骤1.拷贝文件
将下图文件拷贝到项目的根目录中:
步骤2.配置gradle
-
项目外层的Application的gradle配置:
buildscript {
repositories {
google()
jcenter()
maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }
//投屏的maven地址
maven { url 'http://4thline.org/m2' }
}
apply from: 'thirdparty-lib/config.gradle'
dependencies {
classpath externalAndroidBuildGradlePlugin
}
}
allprojects {
repositories {
google()
jcenter()
maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }
//投屏的maven地址
maven { url 'http://4thline.org/m2' }
flatDir { dirs 'src/main/libs' }
}
}
- gradle版本:
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip
- settings.gradle配置:增加如下代码:
include ':AliyunVideoCommon'
include ':Aliyunplayer:AlivcPlayerTools'
include ':AlivcLongVideo'
include ':AliyunVideoCommon'
- app module下build.gradle的配置:
implementation project (':AlivcLongVideo')
implementation project (':AliyunVideoCommon')
implementation project (':Aliyunplayer:AlivcPlayerTools')
implementation externalAndroidAppCompatV7
implementation externalAndroidSupportV4
implementation externalAndroidRecyclerView
implementation externalGSON
implementation externalOKHTTP
implementation externalAndroidMultiDex
- 注意:如果报错,如下图所示错误,需要在app下的build.gradle里添加packagingOptions配置:
android {
defaultConfig {
...
}
buildTypes {
...
}
packagingOptions {
exclude 'META-INF/beans.xml'
}
}
步骤3.添加权限
<uses-permission android:name="android.permission.CHANGE_WIFI_MULTICAST_STATE" />
<uses-permission android:name="android.permission.INTERNET"/>
<uses-permission android:name="android.permission.VIBRATE"/>
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<uses-permission android:name="android.permission.MOUNT_UNMOUNT_FILESYSTEMS"/>
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
<uses-permission android:name="android.permission.GET_TASKS"/>
<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.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.BLUETOOTH" />
<uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
<!--自动更新URI跳转安装时需要-->
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
步骤4.功能使用
长视频的首页为AlivcHomeActivity
,只需要调如下代码,就可以进入到长视频的首页
Intent intent = new Intent(context,AlivcHomeActivity.class);
context.startActivity(intent);
在长视频的Demo中,GlobalNetConstants
类提供了一些请求接口信息的配置,用户可根据自己的后台请求接口来进行修改,其中包括STS信息的获取、播放资源等信息。
原创文章,作者:网友投稿,如若转载,请注明出处:https://www.cloudads.cn/archives/34127.html