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
在上述命令中,local 和 remote 指的是开发计算机(本地)和模拟器/设备实例(远程)上目标文件/目录的路径。例如:
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 数据输出到屏幕,以用于报告错误。