一,前期基础知识储备

1)什么是mapping文件;

mapping文件就是在对代码混淆以后,可以用来查看混淆前和混淆后的对比文件。一般用来查看线上的bug;

2)mapping文件在哪看;

在项目的build -> outputs -> mapping -> release -> mapping.txt

3)友盟提示的崩溃错误信息;

二,实例解决

从上面的那个错误,我们知道是在PaintActivity中出错,但是出错的方法已经混淆,和行号已经看不出了,所以需要借助mapiing文件,定位到“b”这个方法。(a b c d 表示对应的方法和字段,一般可以直接定位到类,然后通过字母查找方法即可)

可以看到b这个方法就是 onMIUIDownLoadAndSaveSvg 这个方法。进一步查看友盟信息,是一个xmlparser解析时出问题了。

查看源码得知,其和项目代码的一个使用到的类有继承关系,

其中刚好有一个对象 “is”,这个对象就和友盟的报错信息一致,其为空了,导致出错。这个流对象的来源又可以溯源到onMIUIDownLoadAndSaveSvg这个方法里,

这样友盟报错信息就和mapping文件相互佐证,确实是该方法里面的获取流对象时出了问题。定位之后就好解决了。

再提供一个解决实例,定位方法和上面的例子一样:

1)友盟报错信息;

2)mapping文件中找寻方法;

3)定位方法中出错的代码;

4)最后解决问题;

实例:利用友盟崩溃统计+mapping.txt文件定位项目的错误相关推荐

  1. 应用瘦身,加固,友盟数据统计

    1. apk瘦身 假设模块为app 减肥 apk瘦身:apk减小.  在功能不变. 作用:节省用户下载消耗流量,下载apk可能性. 投资价值: 用户安装  用户活跃 实现步骤: 一.正常开发项目. 二 ...

  2. 友盟页面统计 - 关于Viewpager中的Fragment的生命周期

    Activity和Fragment各自理论上的生命周期 Activity的生命周期是较为经典也最清晰的,在此不表: Fragment从出现到广泛运用也有一段时间了,其标准生命周期也仅比Activity ...

  3. iOS 友盟App统计

    创建账号-->阅读开发文档-->创建应用获取key 在官网上开发文档很简单直接照做就可以进行基础的统计, 比如想统计某一个按钮被点击次数应该怎么办呢?这里就用到了自定义统计事件 首先要注册 ...

  4. 友盟iOS统计中破解和越狱是什么?

    友盟iOS统计中破解和越狱是什么? 1.什么是越狱及破解呢? 所谓越狱,是用于获取苹果公司移动设备操作系统iOS最高权限(ROOT)的一种技术手段.越狱完成后设备依然运行iOS操作系统,一款名为Cyd ...

  5. java mapping文件_Android R8 mapping.txt文件解读

    mapping.txt文件解读 链接 R8 Android Gradle Plugin 3.4.0之后,默认使用R8替代原来的ProGuard,R8在编译过程中主要执行: Code shrinking ...

  6. 友盟app 统计 踩的坑

    踩坑非常淡腾,今天刚开始接触友盟,做的app统计那一块.有新的改动会继续更新此博客 坑一:导入jar包.如果你是mac的AS,只用导入一个jar:umeng-analytics-v6.0.1.jar( ...

  7. unity 接入友盟数据统计SDK

    1.下载UnitySDK 友盟SDK官网链接:SDK_开发者中心 - 友盟+ (umeng.com) 如下图. 解压后长这样 然后进入Unity3D文件夹,分别导入两个unitypackge包 ①.导 ...

  8. 友盟cnzz统计数据为什么统计不到百度360搜狗搜索过来的关键词?

    网站上同时安装了百度统计和友盟的cnzz统计,通过数据分析发现,两者有很大区别,而且在cnzz搜索词那一项,和百度统计的出入很大. 记得几年前,cnzz是可以详细统计到各大搜索引擎的数据的,那么现在c ...

  9. android友盟错误日志,友盟崩溃日志分析三种方式

    第一种:采用友盟提供的工具 1.再友盟错误页面,右下角,有一个保存错误日志的. 比如:xxx iOS_错误分析_错误详情_100442.csv 2.把xxx.app.dSYM 放到这个目录下~/Lib ...

最新文章

  1. 项目性能优化(页面静态化2)
  2. 国际运营商智慧城市探索与实践
  3. apache 下实现防盗链
  4. QT中添加背景图片,颜色,以及字体等
  5. ASP读取ACCESS数据库随机记录的方法
  6. 环境变量和用户变量有什么区别?
  7. AngularJS 快速编程入门
  8. Linux运行Django项目远程访问时报错:Invalid HTTP_HOST header: '***.***.*.*:8000'.
  9. 大学计算机课第二章内容总结,第四周市政系《大学计算机基础》课程总结
  10. 使用 jQuery Mobile 与 HTML5 开发 Web App (五) —— jQuery Mobile 表单下
  11. SharePoint Designer中无法显示任何列表
  12. 学习c语言的小程序,C语言小程序学习
  13. 机器视觉技术在工业检测中的应用综述
  14. Windows迅雷X去广告美化终结版Thunder X来了!
  15. 如何正确的将拼多多的买家晒图采集并保存
  16. java halt_Java Runtime halt()方法
  17. workman 搭建tcp服务器,和websocket互相通信
  18. php excel 设置下拉菜单,phpexcel setFormula下拉选择列表 序列
  19. iOS音效和音乐播放
  20. UVa 11942 - Lumberjack Sequencing

热门文章

  1. mac数据恢复软件 免费 magoshare data rescovery
  2. ~/.vimrc 修改后不重启生效方法
  3. 扎心了!论虐狗我只服UI设计师!
  4. 【玩转华为云】手把手教你利用ModelArts实现人脸年龄预测
  5. matlab以空间的点画球,3D空间画空洞小球Matlab程序
  6. 需要更多的 “教练式的领导”
  7. 系统在此应用程序堆栈溢出_部署第一个完整堆栈应用程序之前需要考虑的三件事
  8. 一键开启次元世界,AI Studio应用中心上线啦!
  9. 视觉SLAM——二维三维几何、三维空间刚体变换
  10. 转载:嘉立创 阻抗设计说明