Bugly符号表插件使用指南
添加依赖
在项目的buid.gradle文件的dependencies(buildscript部分)中添加:
classpath 'com.tencent.bugly:symtabfileuploader:latest.release'
其中version为符号表文件上传插件版本号,更新插件只需要修改这个版本号并Rebuild一下工程即可。
添加插件和配置
在module的buid.gradle文件的顶部添加:
apply plugin: 'bugly'
bugly {
appId = '' // 注册时分配的App ID
appKey = '' // 注册时分配的App Key
}
其中APP_ID和APP_KEY是必填的,App ID和App key可以从“产品设置”里面获取。
除了appId和appKey之外,还可以设置其他属性,属性列表如下:
属 性
类型
默认值
说 明
debug
boolean
false
调试模式开关(具体说明见下文“调试模式”)
appId
String
null
App ID
appKey
String
null
App Key
appPackage
String
null
App包名
appVersion
String
null
App版本
appChannel
String
null
App渠道
execute
boolean
true
插件开关
upload
boolean
true
上传开关
uploadMapping
boolean
true
Mapping文件上传开关
uploadSymbol
boolean
true
Symbol文件上传开关
outputDir
String
/bugly
符号表文件输出路径
例子
/build.gradle文件如下:
buildscript {
repositories {
jcenter()
}
dependencies {
classpath 'com.tencent.bugly:symtabfileuploader:latest.release'
}
}
//build.gradle文件如下:
apply plugin: 'bugly'
bugly {
appId = "xxxxxx"
appKey = "xxxxxx"
}
如果使用了ProductFlavors区分产品渠道,并使用了不同的App ID和App key,可以使用以下方式来根据渠道配置。:
apply plugin: 'bugly'
android.applicationVariants.all { variant ->
def buglyAppId = null;
def buglyAppKey = null;
if (variant.flavorName.equals("channel1")) { // 渠道1:channel1
buglyAppId = 'xxxxxx'
buglyAppKey = 'xxxxxx'
} else if (variant.flavorName.equals("channel2")) { // 渠道2:channel2
buglyAppId = 'xxxxxx'
buglyAppKey = 'xxxxxx'
}
if(buglyAppId != null) {
variant.ext.buglyAppId = buglyAppId
}
if (buglyAppKey != null) {
variant.ext.buglyAppKey = buglyAppKey
}
}
插件说明
Bugly插件会创建上传符号表文件的“upload${VariantName}SymtabFile”任务;
默认只在Release编译打包的时候自动执行符号表文件上传任务,调试模式下Debug编译打包也会自动执行符号表文件上传任务;
如果项目使用了代码混淆(Proguard),插件将自动上传Proguard生成的Mapping文件;
如果项目中包含Native工程,插件将自动扫描Debug SO文件,生成符号表文件(zip)并自动上传;
通过上传日志文件来防重,相同的符号表文件不会上传多次。
调试模式
调试模式默认关闭,打开方法如下:
bugly {
debug = true
}
开启插件调试模式之后,将打印更详细日志,并在Debug编译打包的时候自动执行符号表文件上传任务。
其他说明
插件会默认在工程目录下生成“bugly”目录,用于保存插件的日志文件,并作为默认的Symbol文件生成路径;
插件的日志文件包括两个:Symbol日志文件(BuglySymtabLog.txt)和上传日志文件(BuglyUploadLog.txt);
插件默认读取ProductFlavors的作为渠道(appChannel)信息。