全部产品
云市场

Android SDK 接入手册

更新时间:2020-04-28 11:28:09

崩溃分析属于EMAS服务的一个部分,接入后可以在控制台直接开通使用。

一、摘要

  • 针对客户端运维需求,提供了完备的客户端崩溃分析监控,具体包括:

    • JAVA Crash监控、Native Crash监控、ANR监控、js错误等

二、 Android SDK 接入

此部分适用于使用gradle管理依赖的Android Studio项目,具体接入方法可参考阿里云Android Demo工程 中的ha_android_demo项目。

2.1 添加依赖

可以选择以下两种依赖接入方式:

2.1.1 Maven仓库依赖接入

在项目build.gradle中添加阿里云Maven仓库地址:

  1. repositories {
  2. maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }
  3. }

app模块的build.gradle的dependencies节点内添加:

  1. compile('com.aliyun.ams:alicloud-android-ha-adapter:1.1.3.2-open@aar') {
  2. transitive=true
  3. }
  4. compile('com.aliyun.ams:alicloud-android-ha-crashreporter:1.2.2-open@aar') {
  5. transitive=true
  6. }

2.1.2 本地依赖接入

控制台SDK下载页面选择“崩溃分析”产品下载并拷贝下载包内所有库文件放在项目的libs目录下;app模块的build.gradle根节点内增加:

  1. repositories {
  2. flatDir {
  3. dirs 'libs'
  4. }
  5. }

同时在build.gradle的dependencies节点内添加所有下载aar sdk库文件,文件如下:

  1. //1、本地jar库引入
  2. compile fileTree(include: ['*.jar'], dir: 'libs')
  3. //2、公共库
  4. compile (name: 'alicloud-android-ha-adapter-1.1.3.2-open', ext: 'aar')
  5. compile (name: 'alicloud-android-ha-core-1.1.0.6.1-open', ext: 'aar')
  6. compile (name: 'alicloud-android-ha-protocol-1.1.0.6-open', ext: 'aar')
  7. compile (name: 'alicloud-android-ha-tbrest-1.1.0.7-open', ext: 'aar')
  8. compile (name: 'alicloud-android-utdid-1.1.5.3', ext: 'jar')
  9. compile (name: 'fastjson-1.1.54.android', ext: 'jar')
  10. //3、崩溃分析,不接入可注释掉
  11. compile (name: 'alicloud-android-ha-crashreporter-1.2.2-open', ext: 'aar')
  12. compile (name: 'alicloud-android-ha-telescopebase-1.1.0-open', ext: 'aar')
  13. compile (name: 'alicloud-android-ha-telescopesdk-1.1.0.3-open', ext: 'aar')
  14. compile (name: 'alicloud-android-ha-watch-1.1.0.6.1-open', ext: 'aar')
  15. compile (name: 'alicloud-android-ha-bizerrorreporter-1.1.0.6.1-open', ext: 'aar')

2.2 接入服务

在自定义Application类的onCreate里面启动服务:

  1. public class MyApplication extends Application {
  2. @Override
  3. public void onCreate() {
  4. initHa();
  5. }
  6. private void initHa() {
  7. Log.e("ha", "init");
  8. AliHaConfig config = new AliHaConfig();
  9. config.appKey = "xxxxxxxx"; //appkey
  10. config.appVersion = "x.xx"; //应用的版本号
  11. config.appSecret = "xxxxxxxxxxxx"; //appsecret
  12. config.channel = "mqc_test"; //应用的渠道号标记,自定义
  13. config.userNick = null;
  14. config.application = this;
  15. config.context = getApplicationContext();
  16. config.isAliyunos = false; //是否为yunos
  17. //启动CrashReporter
  18. AliHaAdapter.getInstance().addPlugin(Plugin.crashreporter);
  19. AliHaAdapter.getInstance().start(config);
  20. }
  21. }

AndroidManifest.xml里面指定自定义Application:

  1. <application
  2. android:name=".MyApplication"
  3. android:allowBackup="true"
  4. android:icon="@mipmap/ic_launcher"
  5. android:label="@string/app_name"
  6. android:supportsRtl="true"
  7. android:theme="@style/AppTheme" >
  8. </application>

三、混淆配置

如果开启了混淆,需要增加以下配置到您的混淆配置文件中:

  1. #keep crashreporter
  2. -keep class com.alibaba.motu.crashreporter.MotuCrashReporter{ *;}
  3. -keep class com.alibaba.motu.crashreporter.ReporterConfigure{*;}
  4. -keep class com.alibaba.motu.crashreporter.utrestapi.UTRestReq{*;}
  5. -keep interface com.alibaba.motu.crashreporter.IUTCrashCaughtListener{*;}
  6. -keep interface com.alibaba.motu.crashreporter.ICrashReportSendListener{*;}
  7. -keep interface com.alibaba.motu.crashreporter.ICrashReportDataListener{*;}
  8. -keep interface com.ut.mini.crashhandler.*{*;}
  9. -keep class com.uc.crashsdk.**{*;}
  10. -keep class com.alibaba.motu.crashreporter.YouKuCrashReporter{public *;}
  11. -keepattributes Exceptions,InnerClasses,Signature,Deprecated,SourceFile,LineNumberTable,*Annotation*,EnclosingMethod

四、 测试验证

在您完成上述步骤之后,您可以测试您的App,通过https://emas.console.aliyun.com查看数据报表。

五、技术支持

EMAS通过钉钉群的形式为您的日常问题进行解答,钉钉群内会不定期推送更新通知等各类信息。请务必下载钉钉,包括PC版和移动版。

(1)EMAS组件服务钉钉群:

  • 性能分析:23166990
  • 远程日志:23352396
  • 崩溃分析:21763813
  • 移动热修复: 群四:23103350( 其它群已满 )
  • HTTPDNS: 11777313
  • 移动推送 11795523
  • 移动测试 11762195

(2)工单

可以通过工单提交问题反馈,工单提交地址为:https://selfservice.console.aliyun.com/ticket/createIndex