背景
最近工作中,在项目里集成了某 sdk
的功能实现用户埋点数据上报,这个数据上报给了某平台 A
。
但是 A
说数据没收到,那就奇怪了。
因为我在另一个项目中也是用的这个 sdk
,上报方式都是一样的,另一个项目就是好好的。所有项目经理反馈给我问题时,我当时有点蒙圈:
咋整呢?铁汁!裂开了哦!
没关系,我们可以在代码中添加关键的日志,当然打包生成这个 apk
的时候,并没有把日志打印关闭,为的就是后面分析问题使用。
当调用 sdk
提供的方法时,调用成功或者失败都会打印对应日志,根据日志看 sdk
是否成功调用了埋点数据上报方法,我们再根据这些日志信息分析原因,然后反馈给项目经理即可。确保不是我们的问题后,那就开始甩锅吧!
那我们可以使用 adb 命令(配置后面会说明)连接上这个移动设备,应用也运行在这个移动设备上,那就开抓吧。
PS - 建议同学们发布正式包的时候,将涉及到的重要日志给注释或者干脆直接将所有打印日志都关闭。防止重要的信息泄露。
抓日志条件
- 电脑连接上移动设备(通过 adb 命令连接)
- 代码中日志打印没有关闭
电脑上 adb 配置
- 下载 adb 压缩包
我上传到了我的百度网盘,下载链接点我
提取码为 - 7l5t
- 下载后进行解压
解压后有上面圈出的三个文件。
- 配置环境变量
在系统变量中编辑 Path
,添加 adb
解压所在的目录路径即可。
- 配置完成
配置完成后打开 cmd 命令窗口输入 adb ,成功后显示如下:
配置失败的同学自己检讨。
开抓 开抓
前提:电脑已经连接上移动设备,通过 adb 命令连接,自己网上查,一大堆教程。
- 打开 cmd 命令窗口,输入下面命令:
adb logcat > C:\Users\15011\Desktop\imxiaoqi.txt
如图:
下面可以看到桌面已经生成了 imxiaoqi.txt 文件,如图:
logcat 日志输出文件路径和名称自己定义即可。
-
打开要抓日志的 app,然后操作到关键步骤,确保有需要的关键日志打印
-
然后操作结束后就可以回到
cmd
命令窗口按下ctrl + c
关闭抓日志功能
没错,日志就抓完了。很快(一点不持久)
分析日志
这一步就是打开 imxiaoqi.txt 文件( logcat 里打印的日志信息就输出到了这个文件中),然后过滤出需要的信息。
过滤信息后如下图示:
代码中的日志打印如下:
完成日志抓取,这里只是给同学们简单的做了下演示。
实际需要同学们具体情况具体分析。
技术永不眠,我们下期见!