android 混淆后的代码还原
16lz
2021-01-24
需求:有崩溃日志但是由于是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下了,这样线上出问题了,找到日志了,然后找到符号表,就可以还原崩溃栈信息额
更多相关文章
- Eclipse,到了说再见的时候了——Android(安卓)Studio最全解析
- QT5.2 Android(安卓)App找不到插件qmlxmllistmodelplugin
- Android(安卓)DropBoxManager服务分析
- Android(安卓)MTK 修改TP参数
- Android(安卓)手势 正则匹配图片
- android 控件之checkbox自定义样式
- Ubuntu 17.10 Android(安卓)studio 3.1 下的AVD配置
- Android之CSDN 牛人博客索引
- android中Bitmap对象怎么保存为文件?