1.为什么要配置符号表?
为了能快速并准确地定位用户APP发生Crash的代码位置,Bugly使用符号表对APP发生Crash的程序堆栈进行解析和还原。
因为混淆后不显示方法名和行号,配置符号表 以后可以显示carash的类名、 方法名、 行号,快速定位bug。
2.步骤
添加依赖
在项目的buid.gradle文件的dependencies(buildscript部分)中添加:
classpath 'com.tencent.bugly:symtabfileuploader:latest.release'
添加插件和配置
在module的buid.gradle文件的顶部添加:
apply plugin: 'bugly'
bugly {
appId = '<APP_ID>' // 注册时分配的App ID
appKey = '<APP_KEY>' // 注册时分配的App Key
}
注意:不要尖括号
其中APP_ID和APP_KEY是必填的,App ID和App key可以从“产品设置”里面获取。
例子
<Project>/build.gradle
文件如下
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.tencent.bugly:symtabfileuploader:latest.release'
}
}
<Project>/<Module>/build.gradle
文件如下:
apply plugin: 'bugly'
bugly {
appId = 'xxxxxxxxx'
appKey = 'xxxxxxxx'
debug = true
}
注意为了显示行号需要在混淆文件里加
-keepattributes SourceFile,LineNumberTable
-renamesourcefileattribute SourceFile
这样可以显示crash方法的第几行。
默认只在Release编译打包的时候自动执行符号表文件上传任务,调试模式下Debug编译打包也会自动执行符号表文件上传任务
可以在这里看到符号文件的更新。