腾讯云客户端性能分析移动端监测Android接入步骤
移动端监测-Android接入步骤
Step-1 工程相关依赖构建
操作人员需要确保已经安装了Gradle构建环境和AS开发环境
-
打开项目根目录下的build.gradle文件
-
在buildscript模块中加入如下代码
在repositories模块中加入maven库地址如下:
maven { url 'https://dl.bintray.com/qec/xray' }
在dependencies模块中加入classpath添加如下代码:
classpath 'qec.xray.plugin:plugin:4.0'
- 打开app下的build.gradle文件
- 在该文件应用添加 xray 插件
apply plugin: 'xray'
- 集成sdk (两种方式二选一)
方式一:线上集成
- 在该文件下配置repositories:
repositories { mavenCentral() maven { url 'https://dl.bintray.com/qec/xray' } }
- 在dependencies添加xray的依赖
implementation 'qec.xray.xraysdk:xraysdk:4.2.0'
集成完毕,sync一下即可
方式二:线下集成
下载xray最新Xray_Android_v4.2.0.jar, 将sdk拷贝到工程项目-> app目录 -> libs文件夹下。 :
- sync一下Android Studio,将maven库中的相关文件同步到本地
Step-2 配置应用权限
构建完成后,请在待监测的App工程的AndroidMainfest.xml文件中增加以下的权限:
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /><uses-permission android:name="android.permission.READ_PHONE_STATE"/><uses-permission android:name="android.permission.INTERNET" />
Step-3 插入初始化探针代码
在自定义Application中的onCreate()方法中初始化Android SDK
1.常规初始化操作
XraySDK.withApplicationToken(appKey).setCuid(cuid).start(this);
2.初始化时配置log级别
XraySDK.withApplicationToken(appKey).setLogcatLevel(XraySDK.LOG_WARN).start(this);
默认分为debug、info、warn、error 4个级别,设置级别后,sdk只打印大于等于该级别的logcat信息,如设置为warn, 则sdk只会打印warn级别和error级别的log。若需要将logcat关闭,只需要将level设置为close即可,如下所示:
XraySDK.withApplicationToken(appKey).setLogcatLevel(XraySDK.LOG_CLOSE).start(this);
Step-4 配置混淆
1.务必在app正式发布前在proguard混淆配置文件中增加以下内容,以免xraysdk不可用:
注意:若网络请求使用第三方开源的网络框架 请务必保持该网络框架不被混淆
# ProGuard configurations for XRAY SDK-keep class com.baidu.xray.agent.** { *; }-dontwarn com.baidu.xray.agent.**-ignorewarnings-keepattributes Exceptions, Signature, InnerClasses# End XRAY SDK configurations
2.若需要保留行号信息,请在proguard混淆配置文件中添加以下内容:
-keepattributes SourceFile,LineNumberTable
自定义配置
1.初始化
// 最简单初始化方式,所有设置均为默认值XraySDK.withApplicationToken(appKey).start(this);
2.设置用户id
// 初始化之后调用XraySDK.setUserId(String userId);
3.设置用户名
// 初始化之后调用XraySDK.setUserName(String userName);
4.自定义app版本号
// 在初始化后调用XraySDK.setAppVersionName(String);
5.是否发送设备信息数据,默认为是
XraySDK.setSendPrivacyInformation(boolean);
6.是否仅wifi环境下上传,默认为false
// 初始化之后调用XraySDK.setUserName(String userName);
7.添加自定义字段
XraySDK.setUsersCustomKV(HashMap);XraySDK.setUsersCustomKV(String, String);
8.设置log捕获行数,默认是200行
XraySDK.setLogcatLineCount(200);
9.设置移动网络下也立即上传,需在初始化之时链式调用
// 默认为false即移动网络下不立即上传,24小时内连接wifi上传,超过24小时才强制上传XraySDK.withApplicationToken(appKey).setUploadImmediately(true).start(this);