inshot怎么转gif_阿里云帮助中心-阿里云,领先的云计算服务提供商

本文档详细介绍了如何将EMAS Android SDK快速集成到Android工程中,包括APP工程准备、集成准备、SDK依赖配置、初始化及高可用SDK、WEEX-SDK、通道服务SDK的接入,以及混淆配置和问题解答。
摘要由CSDN通过智能技术生成

本文档为EMAS Android SDK快速集成手册。

一、 APP 工程准备

新建或者使用已有的Android工程。

在接入前,确保工程能编译通过,顺利运行后,再开始接入, 避免增加不必要的麻烦。

二、 集成准备

EMAS包括以下SDK能力,可选择性接入:

应用更新SDK:提供应用的完整APK更新能力、动态部署更新/DexPatch补丁更新能力(如接入了)

高可用SDK:提供客户端整个性能、稳定性监控分析,包括crash、性能、日志、埋点等等

WEEX-SDK:一套构建高性能、可扩展的原生应用跨平台开发方案

Atlas组件化框架:提供组件化架构、动态部署、DexPatch热修复能力

2.1 应用信息和SDK配置信息

集成前需获取应用的信息和SDK相关配置信息,SDK初始化需要这些信息才能正常的工作。

以下局部变量名均来自脚手架工程中的EmasInit.java文件,此处仅仅作为说明示例,本文后面会用到。可以将这些数据配置到一个json文件中放置到assets目录,初始化的时候通过读取该文件获取数据(参考脚手架工程里的DemoApplication.java),可以参考脚手架工程中assets目录中的aliyun-emas-services.json文件。

应用基本信息:AppKey和SecretKey,在控制台注册应用后获取。

mAppkey = 10000039

mAppSecret = c7795717b2306055f21fb33418c1d011

SDK配置信息:域名需接入方申请(POC环境的域名配置信息可参考POC Demo)。

统一网关域名: 示例:mMTOPDoman = “aserver.emas-ha.cn”

APP渠道号:开发者自定义。渠道号组成规则(渠道ID@应用英文名_应用os_版本号),示例:mChannelID = “1001@DemoApp_Android_1.0.0”。

高可用SDK长连通道域名:示例:mACCSDoman = “acs.emas-ha.cn”

高可用SDK数据上报域名:示例:mHAUniversalHost = “adash.emas-ha.cn”

高可用SDKOssBucket:示例:mHAOSSBucketName = “emas-ha-remote-log-poc”

高可用SDK公钥:示例:mHARSAPublicKey = “xxxx”

高可用SDK启动Activity:APP的启动Activity。示例:mStartActivity = “com.taobao.demo.WelcomActivity”

2.2 配置依赖下载MAVEN地址

修改文件位置:项目根目录的build.gradle(Demo位置:Android-EMAS-Demo/build.gradle)

修改文件内容:allprojects.repositories中配置maven仓库地址用于拉取EMAS相关SDK

示例:

allprojects{

repositories{

maven{url"http://nexus-ce.emas-poc.com/repository/maven-public/"//SDK中心仓库地址

credentials{

username="xxx"//SDK中心仓库账号密码

password="xxx"

}

}

maven{url"xxx"}//业务模块aar/awb snapshot仓库地址(体验时可填POC产物仓库snapshot地址)

maven{url"xxx"}//业务模块aar/awb release仓库地址(体验时可填POC产物仓库release地址)

}

}

2.3 接入EMAS插件

1、引入插件库

修改文件位置:工程根目录的build.gradle(Demo位置:Android-EMAS-Demo/build.gradle)

修改文件内容:在buildscript中

(1)配置maven仓库地址[maven {url “xxx”}]用于拉取EMAS插件

(2)加入classpath “com.taobao.android.gradle:emas-plugin:2.1.3”(注:如仍使用gradle4.0以下环境,emas插件请使用1.7.2-SNAPSHOT)示例:

buildscript{

repositories{

maven{

url"http://nexus-ce.emas-poc.com/repository/maven-public/"//EMAS SDK中心仓库地址

credentials{

username="xxx"//SDK中心仓库账号密码

password="xxx"

}}//SDK中心仓库地址

maven{url"http://maven.aliyun.com/nexus/content/repositories/google/"}

}

dependencies{

classpath"com.taobao.android.gradle:emas-plugin:2.1.3"

}

}

2、创建common.gradle

新建文件位置: 在app项目根目录新建common.gradle(Demo位置:Android-EMAS-Demo/app/common.gradle)

配置作用:用于从EMAS控制台获取环境信息

文件内容:

defemas_version_name=getEnvValue('EMAS_VERSION_NAME',"1.0")

defemas_version_code=getEnvValue('EMAS_VERSION_CODE',"1")

defemas_base_version=getEnvValue('EMAS_BASE_VERSION',"1")

//设置渠道包

defemas_channel_list=getEnvValue("EMAS_CHANNEL_LIST","")

if(emas_version_code){

android.defaultConfig.versionCode=emas_version_code.toInteger()

println("emas_version_code="+emas_version_code)

}

if(emas_base_version){

println("emas_base_version="+emas_base_version)

}

if(emas_version_name){

android.defaultConfig.versionName=emas_version_name

println("emas_version_name="+emas_version_name)

}

if(emas_channel_list){

println("emas_channel_list="+emas_channel_list)

}

StringgetEnvValue(key,defValue){

defval=System.getProperty(key);

if(null!=val){

returnval;

}

val=System.getenv(key);

if(null!=val){

returnval;

}

returndefValue;

}

3、应用common.gradle及EMAS插件

修改文件位置:app项目根目录的build.gradle(Demo位置:Android-EMAS-Demo/app/build.gradle)

(1)拷贝下文脚本到build.gradle

(2)拷贝完后,去掉工程中所有原有的 apply plugin: ‘com.android.application’

apply plugin:'com.taobao.android.emas'

applyfrom:'common.gradle'

configurations{

providedCompile

all*.excludegroup:'com.taobao.android',module:'tnet-jni'

all*.excludegroup:'com.taobao.android',module:'tlog_adapter'

all*.excludegroup:'com.aliyun.ams',module:'alicloud-android-utdid'

}

configurations.all{

resolutionStrategy{

cacheChangingModulesFor(0,'SECONDS')

cacheChangingModulesFor(0,'SECONDS')

}

}

task wrapper(type:Wrapper){

gradleVersion='3.3'

distributionUrl='http://emas-deploy.oss-cn-hangzhou.aliyuncs.com/gradle-3.3-all.zip'

}

4、在android标签中去掉系统生成的versionCode、versionName配置,加入dexOptions配置

配置作用:防止默认的version覆盖控制台传入的version(EMAS平台在做每次发布时会托管这两个参数达到自动更新的效果)

android{

...

//versionCode 1

//versionName "1.0"

dexOptions{

javaMaxHeapSize='2048m'

additionalParameters=["--no-strict"]

}

...

}

5、 按需配置lib目前平台类型,语言类型支持

android{

...

defaultConfig{

...

ndk{

abiFilters"x86","armeabi"//默认只启用x86,armeabi

}

resConfigs"en","fr"

...

}

...

}

6、 加入插件配置

新建文件位置: 在app项目根目录新建emasConfig.properties(Demo位置:Android-EMAS-Demo/app/emasConfig.properties)

配置作用:插件功能开关

文件内容:

atlas.tBuildConfig.classInject=false

atlas.enhanceConfigs.debug.enabled=false

atlas.enhanceConfigs.release.enabled=false

#构建配置

atlas.tBuildConfig.fastProguard=true

atlas.tBuildConfig.atlasMultiDex=true

atlas.tBuildConfig.mergeOverride=false

atlas.multiDexConfigs.debug.fastMultiDex=true

atlas.multiDexConfigs.release.fastMultiDex=true

#构建渠道包开关

atlas.atlasChannelConfigs.debug.enabled=false

atlas.atlasChannelConfigs.release.enabled=false

7、 加入Gradle官方配置

新建文件位置: 在app项目根目录新建gradle.properties(Demo位置:Android-EMAS-Demo/app/gradle.properties)

配置作用:gradle官方配置,优化构建效率及处理兼容性等

文件内容:

android.enableBuildCache=true

org.gradle.daemon=false

android.enableAapt2=false

2.4 添加SDK依赖

依赖说明

以下步骤会集成以下三个SDK:

1、应用更新SDK(UPDATE SDK)

2、高可用SDK(HA SDK)

3、跨平台SDK(WEEX SDK)

如只需部分能力,可在build.gradle脚本、EmasInit.java、AndroidMenifest.xml中删除掉对应gradle依赖/代码/配置即可。

集成方式

Gradle依赖:标准gradle方式依赖各SDK版本(首次接入推荐采用该方式)

通过EMAS研发平台管理依赖:在EMAS研发平台配置各SDK模块后,可通过平台来发布,更新各SDK模块到APP中。(首次接入不建议采用,对平台模块管理有足够理解后再陆续迁移到平台上)

Gradle依赖

``` dependencies {

/************基础库 START**********/

compile('com.alibaba:fastjson:1.1.54.android@jar'){transitivetrue}

compile('com.taobao.android:mtopsdk_allinone:3.0.8.2-open@jar'){transitivetrue}

compile('com.taobao.android:networksdk:3.3.7-open@jar'){transitivetrue}

compile('com.taobao.android:tnet4android:3.1.14.6@aar'){transitivetrue}

compile('com.taobao.android:utdid4all:1.1.5.3_proguard@jar'){transitivetrue}

/************基础库 END**********/

/************UPDATE START**********/

compile('com.taobao.android:update-datasource:1.0.1-open@jar'){transitivefalse}

compile('com.taobao.android:update-common:1.0.1-open@aar'){transitivefalse}

compile('com.taobao.android:update-manager:1.0.1-open@aar'){transitivefalse}

compile('com.taobao.android:update-adapter:1.0.1-open@jar'){transitivefalse}

compile('com.taobao.android:update-main:1.0.1-open@aar'){transitivefalse}

compile('com.taobao.android:downloader:2.0.2.12@jar'){transitivetrue}

/************UPDATE END**********/

/************高可用 SDK START**********/

compile('com.taobao.android:ut-analytics:1.1.0.1-open@aar'){transitivetrue}

compile('com.alibaba.ha:alihatbadapter:1.1.0.7-open@aar'){

transitivetrue

//exclude group:'com.taobao.android', module:'tlog_uploader_oss'

}

//compile ('com.taobao.android:tlog_uploader_ceph:1.1.0.7-open@aar')

//默认oss通道需要依赖oss的三方库

compile'com.squareup.okhttp3:okhttp:3.4.1@jar'

compile'com.squareup.okio:okio:1.9.0@jar'

compile'com.aliyun.dpa:oss-android-sdk:2.4.2@aar'

/************高可用 SDK END**********/

/************WEEX SDK START**********/

compile("com.taobao.android:weex_sdk:0.18.16.28"){transitivetrue}

compile('com.taobao.android:zcache:0.1.2-open'){transitivetrue}

compile('com.alibaba.mtl:dynamicConfig:0.1.0.10'){transitivetrue}

compile('com.alibaba.mtl:dynamicconfigadapter:0.1.0.10'){transitivetrue}

compile('com.android.support:recyclerview-v7:26.+'){transi

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值