在 Android 应用程序运行时使用批处理文件在 PC 上获取 adb 日志
Posted
技术标签:
【中文标题】在 Android 应用程序运行时使用批处理文件在 PC 上获取 adb 日志【英文标题】:Getting adb logs on PC using a batch file while the Android app is running 【发布时间】:2017-01-16 05:18:34 【问题描述】:我创建了一个 Windows 批处理文件(log.bat),如下所示:
adb logcat -c
adb logcat -d > log.txt
但只要我按下 log.bat 命令,它就会很快退出。
我希望它继续记录日志,除非我按 ctrl+C。
【问题讨论】:
【参考方案1】:来自doc
-c : 清除(刷新)整个日志并退出。
-d : 将日志转储到屏幕并退出。
因此,在这两种情况下,一旦您使用这些选项运行 logcat 命令,执行就会停止。试试这个,
adb logcat -c && adb logcat > log.txt
一旦执行logcat -c
,这不会让shell执行被释放,并且会在它之后立即启动下一个命令adb logcat > log.txt
,它将写入logcat的日志,直到你按下Ctrl + c。
【讨论】:
谢谢它的工作。如何获取特定标签的日志,如 D/BatteryService && E/Watchdog && V/MyAPP .. 是否有任何规则可以创建或额外放入命令中你发了? 我自己没有尝试过这个,但我认为这会帮助你找到你正在寻找的东西。 ***.com/questions/6173985/…【参考方案2】:看起来问题是在 logcat 中使用选项 -d。请检查使用情况:
-d 转储日志然后退出(不要阻塞)
删除它会解决您的问题。
【讨论】:
谢谢!是的。【参考方案3】:我需要创建一个可以将日志文件复制到 PC 的批处理文件。我创建的批处理文件不起作用。当我手动运行所有命令时,它可以工作,但是在放入脚本时它会挂起。以下是各个命令:
试试这个单行命令:
$adb shell run-as com.example.name cat /data/data/com.example.name/files/logfile.log > c:\logs\logfile.log
【讨论】:
以上是关于在 Android 应用程序运行时使用批处理文件在 PC 上获取 adb 日志的主要内容,如果未能解决你的问题,请参考以下文章