借助App监控的SDK,您可以获取完备的崩溃分析,具体包括Java Crash监控、Native Crash监控、ANR监控、JavaScript错误等。

前提条件

已在ARMS中创建App监控任务,请参见快速入门:创建监控任务

背景信息

本文档适用于使用gradle管理依赖的Android Studio项目,请参见Demo工程ha_android_demo

步骤一:添加依赖

Maven仓库依赖接入:

  1. 在build.gradle项目中添加阿里云Maven仓库地址。
        repositories {    
        maven { url "http://maven.aliyun.com/nexus/content/repositories/releases" }
        }
  2. 在App模块的build.gradle项目的dependencies节点内添加以下代码。
    compile('com.aliyun.ams:alicloud-android-ha-adapter:1.1.3.2-open@aar') {
            transitive=true
        }
    compile('com.aliyun.ams:alicloud-android-ha-crashreporter:1.2.1-open@aar') {
            transitive=true
        }

步骤二:初始化实例

  1. 在自定义Application类的onCreate里面启动服务。

        public class MyApplication extends Application {
        @Override
        public void onCreate() {
            initHa();
        }
    
        private void initHa() {
           Log.e("ha", "init");
           //这里必须启动,否则服务端收不到数据。
            AliHaAdapter.getInstance().openPublishEmasHa();
    
         AliHaConfig config = new AliHaConfig();
         config.appKey = "<yourAppKeyId>";         //appKey
           config.appVersion = "x.xx";         //应用的版本号信箱。
           config.appSecret = "<yourAppKeySecret>";  //appSecret
           config.channel = "<yourChannelId>";        //应用的渠道号标记,自定义。
           config.userNick = null;
           config.application = this;
           config.context = getApplicationContext();
           config.isAliyunos = false;          //是否为yunos。
           AliHaAdapter.getInstance().startCrashReport(config);     //启动CrashReport。
        }
    }
    说明 appKey和appSecret,可在快速入门:创建监控任务步骤4下载的配置文件中获得。
  2. AndroidManifest.xml里面指定自定义Application。

    <application
        android:name=".MyApplication"
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme" >
        ```
        ```
    </application>

步骤三:更新渠道标记

AliHaAdapter.getInstance().updateChannel("600000");

步骤四:更新自定义标记

AliHaAdapter.getInstance().updateUserNick("aliyun");

步骤五:添加混淆规则

-keep class com.alibaba.ha.**{*;}
-keep class com.taobao.tlog.**{*;}
-keep class com.ut.device.**{*;}
-keep class com.ta.utdid2.device.**{*;}
-keep public class com.alibaba.mtl.** { *;}
-keep public class com.ut.mini.** { *;}
-keep class com.alibaba.motu.crashreporter.**{ *;}
-keep class com.uc.crashsdk.**{*;}
-keep class com.ali.telescope.**{ *;}
-keep class libcore.io.**{*;}
-keep class android.app.**{*;}
-keep class dalvik.system.**{*;}
-keep class com.taobao.tao.log.**{*;}
-keep class com.taobao.android.tlog.**{*;}
-keep class com.alibaba.motu.**{*;}
-dontwarn com.taobao.orange.**
-dontwarn com.taobao.android.**
-dontwarn com.alibaba.ha.adapter.**
-dontwarn com.taobao.monitor.adapter.**
-dontwarn com.alibaba.fastjson.**
-dontwarn com.ali.alihadeviceevaluator.**
-dontwarn java.nio.file.**
-dontwarn org.codehaus.mojo.**

结果验证

在完成上述步骤之后,您可以对您的App进行测试,并登录ARMS控制台查看数据报表。