标签:map 混淆 代码 R8 Proguard 行数 LineNumber android 日志
问题描述:项目开了混淆之后,发现android app 崩溃之后,堆栈里面显示代码行数对应不上。
问题解决:1、android gradle高版本,使用的是R8混淆,就是会看不到真实行数。如何确认是不是R8混淆,打开混淆生成的map文件(类似mapping.txt或者map.txt),如果是
R8,就会有这个
# compiler: R8
如果是R8,就没法直接在日志里面看到真实行数。
2、如果是使用友盟之类的日志平台抓取崩溃日志,只需要把map文件,上传到平台就可以看到对应代码行数。
3、如何在本地查看,在你android SDK的目录下的(Sdk\tools\proguard\bin)有一个proguardguixx的,点击之后,出现界面。
选择ReTrace,选择map文件,粘贴上需要解析的堆栈代码(贴at 开头哪些),然后ReTrace,就会在界面上看到结果。
4、如果在第三步解析出来了代码,但是代码行数没有改变,有可能是SDK里面的Proguard版本有点问题。可以尝试从github上面下载一个最新版本(https://github.com/Guardsquare/proguard/releases)
随便找个地方,解压一下,进入到目录里面,按照步骤3操作一下。
标签:map,混淆,代码,R8,Proguard,行数,LineNumber,android,日志 来源: https://www.cnblogs.com/mltx/p/15567486.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。