百川码力APP监控Android版本,目前支持gradle自动配置的方式进行快速接入。开发者可以在五分钟内接入完成。
百川码力APP监控是百川提供的移动应用性能检测工具,可以帮助开发者更早的发现用户使用过程中出现的问题,并快速定位、分析、解决问题。
码力现提供的检测为应用崩溃检测、卡顿检测和网络检测。
码力APP监控Android版本支持在以下运行环境:
在V 1.1.0版本以及以后版本,码力Android端SDK不推荐本地Grandle依赖。请基于下方的集成建议,使用仓库依赖。
${project.root}/build.gradle [项目总build.gradle]
buildscript {
repositories {
maven {
url 'http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/'
}
mavenLocal()
jcenter()
}
dependencies {
classpath('com.android.tools.build:gradle:2.2.0')
classpath('com.alibaba.apmplus:android-gradle:1.2.1')
}
}
allprojects {
repositories {
jcenter()
mavenLocal()
maven {
url 'http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/'
}
}
}
${project.root}/app/build.gradle [应用build.gradle]
apply plugin: 'com.android.application'
apply plugin: 'com.alibaba.android.apmplus'
/** 仓库 */
repositories{
mavenLocal()
maven{
url 'http://repo.baichuan-android.taobao.com/content/groups/BaichuanRepositories/'
}
}
/** android gradle 原生配置 */
android {
}
/** apmplus 配置 见apmplus详情 */
apmplus{
appKey '88888888'
appSecret 'yourappsecret'
}
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.alibaba.apmplus:android-agent:1.2.0'
// compile 'com.alibaba.apmplus:android-agent:1+'
}
WebView需使用setWebViewClient方法,如未实现该方法,请添加如下代码 webview.setWebViewClient(new WebViewClient() {})
| apmplus key | 可选\必选 | 值类型 | 默认值 | 描述 |
|---|---|---|---|---|
| appKey | 必选 | int | 无 | 百川平台申请的应用均可在控制台获取对应的appKey |
| appSecret | 必选 | string | 无 | 请访问码力APP监控控制台查询对应APP的AppSecret |
| forceEnabled | 可选 | boolean | false | 在非release模式下强制开启apmplus的相关功能 |
| threshold | 可选 | int | 3000 | webview 慢连接阀值[单位毫秒],阈值下限为2000ms |
| appVersion | 可选 | string | 1.0 | 自定义的应用版本不同于manifest的versionName |
| channel | 可选 | string | apmplus | 表示app发行渠道的标识 |
| sampling | 可选 | int | 5000 | 采样率万分比范围[1~10000] |
| crash | 可选 | boolean | true | 开启crash 上报 |
| level | 可选 | string | INFO | 日志等级[DEBUG/VERBOSE/INFO/WWARNING/ERROR] |
| compileLog | 可选 | boolean | false | 打印编译日志到${project.root}/build/intermediates/apmplus/目录 |
| autoMappingUpload | 可选 | boolean | true | 是否自动上传 mapping.txt,若开启,则控制台错误堆栈的源代码类名称以及行号等可正常显示 |
| autoProguardConfig | 可选 | boolean | true | 自动配置proguard文件 |
完成上述集成工作后,您可以制造一个Crash来体验百川码力的APP监控的能力了。
Crash测试样例:
throw new NullPointerException();
在触发Crash后,您就可以在码力控制台查看到这个Crash记录了(会有一些延时)。
网络测试样例:
private final class Task extends Thread {
@Override
public void run() {
Log.e(TAG, "urlConnect........");
try {
URL url = new URL("https://www.taobao.com/");
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
conn.setDoOutput(true);
conn.setDoInput(true);
conn.setConnectTimeout(6 * 1000);
conn.setRequestMethod("POST");
conn.setRequestProperty("Content-Type", "application/x-www-form-urlencoded");
conn.setInstanceFollowRedirects(true);
conn.connect();
DataOutputStream out = new DataOutputStream(conn.getOutputStream());
out.writeChars("helloworld");
out.flush();
out.close();
Log.i(TAG, "http status code = " + conn.getResponseCode() + "-->" + conn.getRequestMethod());
InputStream inputStream = conn.getInputStream();
DataInputStream dis = new DataInputStream(inputStream);
ByteArrayOutputStream bs = new ByteArrayOutputStream();
byte[] buffer = new byte[2048];
int i;
while ((i = dis.read(buffer, 0, 2048)) != -1) {
bs.write(buffer, 0, i);
}
inputStream.close();
} catch (Throwable t) {
Log.e(TAG, "http request", t);
}
}
};
在上报网络数据后,您就可以在码力APP监控控制台查看到这个网络记录了(等待约1分钟)。
APMPlus.java
public final static void setAppVersion(final Context context, String appVersion)
public final static void setUserToken(final Context context, String userToken)