背景
Android 代码混淆后 第三方bugly平台对我们apk 堆栈信息会展示错乱。为了能够方便追逐线上错误信息的堆栈,我们必须上传唯一凭证mapping到第三方平台 但是打包是自动化一套链路的 ,不可能每次打包完生产包再手动上传mapping到bugly
研究了一下bugly的文档他是提供了gradle 脚本去自动执行的
Bugly的文档请查看
首先去下载符号表的jar 符号表的jar
将jar 导入到项目的根目录下
通过assembleRelease 执行完正式包的流程后 执行uploadMappingToBuglyServer 将mapping文件上传到bugly
task packageReleaseDingTalk {
def apkDirPath = "${project.buildDir}/outputs/apk/release"
deleteDir(apkDirPath)
dependsOn("assembleRelease")
doLast {
···打正式包 加固 自动上传丁丁。。。
uploadMappingToBuglyServer()//上传mapping文件到bugly
}
}
配置bugly分配的配置信息 上传 ok!
private def uploadMappingToBuglyServer() {
def apkDir = "${project.buildDir}/outputs/mapping/release/mapping.txt"
def appVersion = "${ext.versionNameMajor}" + "." + "${ext.versionNameMinor}" + "." + "${ext.versionNameLast}"
exec {
executable = 'java'
args = ['-jar', '../buglyqq-upload-symbol.jar', '-appid', '你的appId', '-appkey', 'c1af4597-17c7-4ffc-a3bf-dda23e3d25ed', '-bundleid', '你的包名', '-platform', 'Android', '-version', appVersion, '-inputMapping', apkDir]
}
}
网友评论