AS中为什么有时候打 log 信息,明明肯定会执行的代码,但log信息不打印。

因为 as 的 log 打印的是当前进程,对于在 Service 或者 广播里的log,可能不在当前进程,故打印不出来
所以,可以通过在logcat窗口切换进程,或者使用 adb 命令抓取 log 信息

adb logcat -c // 清除logcat缓存
adb logcat | grep xxxx // 过滤log信息

附录:一些好用常用的 adb 命令集合

https://developer.android.com/studio/command-line/adb?hl=zh-cn

一、安装 apk

adb install  xxxx.apk  // apk的路径

二、将文件复制到设备/从设备复制文件

您可以使用 adb 命令 pull 和 push 将文件复制到模拟器/设备实例或从其中复制文件。与 install 命令不同(其仅将 APK 文件复制到特定位置),pull 和 push 命令允许您将任意目录和文件复制到模拟器/设备实例中的任意位置。

要从模拟器或设备复制文件或目录(及其子目录)到本地计算机,请使用

adb pull remote local

要将文件文件或目录(及其子目录)复制到模拟器或设备,请使用

adb push local remote

在上述命令中,localremote 指的是开发计算机(本地)和模拟器/设备实例(远程)上目标文件/目录的路径。例如:

adb push foo.txt /sdcard/foo.txt

三、停止 adb 服务器

在某些情况下,您可能需要终止 adb 服务器进程,然后重启它以解决问题(例如,如果 adb 不响应命令)。要停止 adb 服务器,请使用 adb kill-server 命令。然后,您可以通过发出任意其他 adb 命令重启服务器。

四、常规

adb help // 支持的adb命令

adb devices  // 输出所有连接的模拟器或设备实例

adb version  // adb 的版本号

adb bugreport  // 将 dumpsys、dumpstate 和 logcat 数据输出到屏幕,以用于报告错误。

欢迎各位关注在下的微信公众号“张氏文画”,不光有新鲜的 LeetCode 题解(多种思路,包教包会,开拓思维),还有经典的文章及短视频和大家分享,一起嘿嘿嘿

——乐于分享,共同进步,欢迎留言讨论
——Treat Warnings As Errors
——Any comments greatly appreciated
——Talking is cheap, show me the code
——CSDN:https://blog.csdn.net/u011489043
——简书:https://www.jianshu.com/u/4968682d58d1
——GitHub:https://github.com/selfconzrr