原标题:想反应 bug 但不知道怎么说?带上「日志」让开发者更懂你
运用翻开就闪退了,这个问题能不能修一修?
手机里的运用多了,遇到 bug 也是在所难免的事。但遇到问题后假如你像最初这样向开发者反应问题,那你八成也难以得到直接的处理方案——无论是「闪退」「报错」仍是其他常见问题,咱们能够看见的其实都只是终究的出现成果,并非导致问题的中心原因。
想让开发者帮你更好地定位并处理遇到的问题,正确地抓取 log 文件是一项必不可少的技术。
Log 文件是什么?
Log 是用来记载设备运转活动的日志,运用有运用的运转日志,体系有体系的运转日志……所以出现问题的时分,就需求咱们找对应的日志。
一般来说,常见的体系 log 文件分为三种:Logcat,dmesg 以及 ramoops。它们的差异大致如下:
- logcat 是当之无愧的 Android 体系日志,记载体系的反常行为,比较常用;
- dmesg 是内核日志,具体记载了每一个子体系(subsystem)的活动;
- ramoops 是内存相关的日志,往往用于查询设备的意外重启。
一般的开发者需求前两种 log 比较多,假如不确认自己应该提交什么类型的 log,无妨先用适宜的言语问询开发者。
获取 Log 文件其实很简单
一般来说有两种获取 log 的方法:1、经过运用获取(需求 root 权限,包括一切类型);以及经过 Android 调试桥(即 ADB,仅适用于 logcat 和 dmesg,获取 dmesg 依然需求 root 权限)。
经过运用来获取 Log获取 logcat
- 获取一个 logcat 运用,比方说 或是 ,这儿以 Matlog 为例。
- 下载翻开并颁发其 root 权限,这时在运用的主页面就会显现出此刻的日志。
- 点击右上角的「三个点」菜单按钮,点选 File,再点选 Record。
- 这时 Matlog 会弹出 log 命名对话框,默许的命名是「日期+时刻」,此日志会保存在内部存储 /matlog/savedlogs/ 下。
- 点击确认之后就能够将 Matlog 放在后台,去复现过错了。
- 成功复现过错之后回到 Matlog,点击右下角的「中止」按钮,这时 Matlog 会将方才录制的 logcat 显现在屏幕上。点击右上角菜单按钮挑选 Share 即可将运用日志 logcat,内核日志 dmesg 以及本机信息打包共享出去。
获取 dmesg
除了经过 Matlog 获取打包的 dmesg,运用终端(Terminal)也是获取内核 log 的一种好办法。
- 首要,仍是要获取一个终端模拟器运用,比方说咱们之前介绍过的 Termux。
- 运用指令 su 获取 root 权限,键入指令 dmesg > /sdcard/test.log。
- 完结之后 dmesg 就会保存在内部存储根目录下,名为 test.log 的文件中。
- 首要要先获取一个能够拜访体系目录的文件浏览器,比方 Mixplorer 等。
- 在文件管理器中定位到 /sys/fs/pstore 并找到 console-ramoops 或许 console-ramoops1 等相似文件。
- 将这个文件仿制到内部存储,并提交给开发者。
1、首要在电脑上装备 ADB 环境,装备的文章能够参阅咱们之前的文章: 、。
关于仿制途径,Windows 能够点击上方途径栏并进行仿制粘贴;macOS 则需求先挑选「显现」 - 「显现途径栏」之后在途径栏上右键,并仿制地址。
2、敞开「开发者选项」中的「USB 调试」。
3、将你的设备经过 USB 衔接到电脑。
4、在终端中键入 cd 以进入该文件夹,这儿要将替换为解压出来的文件夹的途径。
在终端中能够运用 adb devices 或许 ./adb devices 来查看设备的衔接状况,假如回来了如图所示的提示,那么阐明设备现已成功衔接。
5、运用此指令 adb logcat -c 或许 ./adb logcat -c 来整理 logcat 缓存
6、获取 log 文件:
获取 logcat 请输入:adb logcat -d > test.log 或许 ./adb logcat -d > test.log
获取 dmesg 请输入:adb shell dmesg > test.log 或许 ./adb shell dmesg > test.log
生成的 log 文件会存放在 ADB 东西文件夹(默许即 platform-tools)下。
最终,即使无法获取 log 文件,也能够在向开发者报告 bug 时附上能够安稳重现的过程或是对于此 bug 的具体描述,至少能够协助开发者做出开始的挑选。
结语
遇到问题的时分,优先寻求搜索引擎或许社群里的其它成员是比较适宜的方法,并且很大概率能够处理问题,这是由于这些问题往往不只是在自己身上发作。可是当你付出了一些测验,依然没有处理问题的时分,向开发者求助就成为你的首选了。
一般运用都会内建反应途径主动发送运用运转的 log,或许是会附上参加社群的联络方法、运用的官方交际帐号、电子邮件等,经过这些途径都能够直接联络到开发团队,而假如当你运用的是第三方内核、ROM 时,也能够去论坛发帖处留言,或许参加开发者创立的社群里直接联络,供给 log。
要信任,优异的开发团队一定会欢迎、注重并感谢这些有价值百科的反应。
相关阅览:
- 《作为一名 App 爱好者,怎么正确地向开发者反应问题?》
参阅资料:
> 下载少数派 、重视 ,了解更多有用的玩机常识