需求:有崩溃日志但是由于是release的包的代码已被混淆,因此还原,方便查看日志定位问题。
https://blog.csdn.net/u010052279/article/details/72625911
cd C:\Users\Orion\AppData\Local\Android\Sdk\tools\proguard\bin
retrace.bat -verbose mapping.txt stacktrace.txt > out.txt

其中mapping.txt 是我们打release包build/output/maping/目录下生成的
stacktrace.txt 为我们的混淆后的崩溃日志
out.txt 就是还原后的崩溃栈


项目中集成了Bugly把map文件输出到项目中out目录下,由于发包都是使用jenkins打包的,那么我们可以在编译平台下配置一下信息,那么这些map文件就被上传值腾讯Bugly符号配置里,这样如果有崩溃日志就能快速还原。

项目里的根目录配置下,可以看下这个:https://www.cnblogs.com/xinmengwuheng/p/5797048.html

 rootProject.ext.bugly_appid = [            translator: "",                 ]    rootProject.ext.bugly_appkey = [            translator: "",    ]

然后吧集成了Bugly的app的modle下的gradle写下:

android.applicationVariants.all { variant ->    variant.assemble.doLast {        rename_and_moveout_apk("translator", variant)        if (variant.getBuildType().isMinifyEnabled()) {            rename_and_moveout_mapping("translator", variant)            createBuglyConfigFile("translator", rootProject.ext.bugly_appkey["translator"], rootProject.ext.bugly_appid["translator"], variant.mergedFlavor.applicationId, rootProject.ext.versionName)        }    }}

这样map文件就到我们项目目录out文件下去了,然后再在jenkins下找到项目目录在构建那里如下配置上传符号表:
#cd out
#先只上传 translator的配置

#bugly_config_file=$WORKSPACE/RobotKid/robot/out/translator_bugly_config.txt#appId=`sed '/^appId=/!d;s/.*=//' $bugly_config_file`#appKey=`sed '/^appKey=/!d;s/.*=//' $bugly_config_file`#versionName=`sed '/^versionName=/!d;s/.*=//' $bugly_config_file`#bundleId=`sed '/^bundleId=/!d;s/.*=//' $bugly_config_file`#productVersion=`sed '/^productVersion=/!d;s/.*=//' $bugly_config_file`#fileName=`sed '/^fileName=/!d;s/.*=//' $bugly_config_file`#file=`sed '/^file=/!d;s/.*=//' $bugly_config_file`#curl -k "https://api.bugly.qq.com/openapi/file/upload/symbol?app_key="$appKey"&app_id="$appId  --form "api_version=1" --form "app_id="$appId --form "app_key="$appKey --form "symbolType=1"  --form "bundleId="$bundleId --form "productVersion="$productVersion --form "channel=0" --form "fileName="$fileName --form "file=@"$file --verbose

这样在build目录下的map文件就被上传至腾讯bugly下了,这样线上出问题了,找到日志了,然后找到符号表,就可以还原崩溃栈信息额

更多相关文章

  1. Eclipse,到了说再见的时候了——Android(安卓)Studio最全解析
  2. QT5.2 Android(安卓)App找不到插件qmlxmllistmodelplugin
  3. Android(安卓)DropBoxManager服务分析
  4. Android(安卓)MTK 修改TP参数
  5. Android(安卓)手势 正则匹配图片
  6. android 控件之checkbox自定义样式
  7. Ubuntu 17.10 Android(安卓)studio 3.1 下的AVD配置
  8. Android之CSDN 牛人博客索引
  9. android中Bitmap对象怎么保存为文件?

随机推荐

  1. Java锁机制了解一下
  2. 使用docker compose 安装zookeeper、kafk
  3. 文章目录导航
  4. Android(安卓)-- Vold机制简要分析
  5. Thread源码剖析
  6. ConcurrentHashMap基于JDK1.8源码剖析
  7. 四种常量的解释
  8. 组合模式在开源代码中的应用
  9. Set集合就这么简单!
  10. Unity平台 | 快速集成华为性能管理服务