Advertisement

Logcat和adb shell命令的批处理脚本示例

  •  5星
  •     浏览量: 0
  •     大小:None
  •      文件类型:None


简介:
简介:本文提供了一个实用的批处理脚本示例,用于自动化Android设备上的Logcat日志收集及ADB Shell命令执行过程,帮助开发者提高工作效率。 通过使用bat脚本打包logcat、adb shell语句等相关代码,并解决了进入shell后后续代码无法执行的问题。

全部评论 (0)

还没有任何评论哟~
客服
客服
  • Logcatadb shell
    优质
    简介:本文提供了一个实用的批处理脚本示例,用于自动化Android设备上的Logcat日志收集及ADB Shell命令执行过程,帮助开发者提高工作效率。 通过使用bat脚本打包logcat、adb shell语句等相关代码,并解决了进入shell后后续代码无法执行的问题。
  • Windows解析与
    优质
    本书详细介绍了Windows操作系统中批处理命令的基本用法和高级技巧,并提供了丰富的脚本编写实例,帮助读者掌握高效自动化任务的方法。 本段落将详细介绍Windows批处理命令,并提供脚本实例。每个示例都将包含详细的命令解释,帮助读者更好地理解和应用这些技术。
  • 常用ADB
    优质
    本文档提供了常用批处理脚本及ADB(Android Debug Bridge)命令的详细指南,帮助用户自动化执行系统管理和开发任务。 1 脚本小例子 亮屏并解锁 @ECHO OFF ECHO [亮屏并解锁] adb shell input keyevent 224 ping -n 3 127.0.0.1>nul adb shell input swipe 500 700 500 0 ECHO [暂停3秒自动关闭] ping -n -3 127.0.0.1>nul @ECHO ON 快速手机截屏 @ECHO OFF ECHO [快速手机截屏] ECHO ------------------------------ ECHO [Exce]手机截屏 adb shell screencap -p sdcardscre
  • 在Android Shell行中筛选adb logcat日志方法
    优质
    本文介绍了如何在Android设备上使用ADB Logcat工具通过Shell命令过滤和查看日志信息的方法,帮助开发者更高效地调试应用程序。 在Android开发过程中,调试日志对于理解程序运行状态至关重要,但海量的日志信息往往使得查找关键信息变得困难。本段落将详细介绍如何使用adb shell命令行工具中的logcat命令,结合grep等工具,有效地过滤并筛选出我们需要的日志内容,提高开发效率。 1. **只显示需要的输出(白名单)** 使用grep命令可以方便地过滤logcat输出。通过正则表达式匹配特定的字符串或tag,例如: - `adb logcat | grep MyApp` 显示包含MyApp的日志行。 - `adb logcat | grep -i myapp` 忽略大小写进行匹配。 - `adb logcat | grep --color=auto -i myapp` 高亮显示匹配的字符串。 对于更复杂的匹配,可以使用正则表达式,如匹配tag的特定部分,例如: - `adb logcat | grep ^..MyApp` 仅匹配tag以MyApp开头的日志。 - `adb logcat | grep ^E.MyApp` 仅显示Error级别且tag为MyApp的日志。 2. **过滤不需要的输出(黑名单)** 如果需要排除某些tag,只需在grep命令中添加-v选项,例如: - `adb logcat | grep -v ^(..MyApp|..MyActivity)` 过滤掉tag为MyApp或MyActivity的日志。 - `adb logcat | grep -vE ^(..MyApp|..MyActivity)` 使用egrep,无需转义符。 3. **显示同一个进程的所有输出** 当一个程序有多重tag时,可以获取所有属于同一进程(PID)的日志。这可以通过首先找出进程PID,然后将其作为grep的匹配项来实现。以下是一个简单的shell脚本示例: ```bash #!binbash packageName=$1 pid=$(adb shell ps | grep $packageName | awk {print $2}) adb logcat | grep --color=auto $pid ``` 脚本接收程序的Java包名为参数,然后打印对应进程的所有日志。 4. **从当前开始显示** 如果只想查看从清除缓存后开始的新日志,可以使用`adb logcat -c`清除缓存,然后执行`adb logcat`获取新的日志。 5. **过滤log文件** 分析保存在本地的log文件时,可以同样使用grep命令。例如,过滤文件`myapp.log`中tag为MyApp或MyActivity的日志,并将结果保存到`newmyapp.log`: ```bash cat myapp.log | grep ^..MyApp|^..MyActivity > newmyapp.log ``` 6. **logcat本身的过滤功能** 除了使用grep,logcat命令本身也提供了过滤功能,可以根据tag和优先级直接过滤。例如: - `adb logcat *:E MyApp:D` 显示Error级别的全局日志和Debug级别tag为MyApp的日志。 这些技巧不仅适用于日常开发,还适用于性能优化、bug定位等场景。熟练掌握这些方法,可以极大地提升Android开发中的日志分析效率。
  • Shell中嵌套使用Expect
    优质
    本篇文章提供了在Shell脚本中如何嵌套使用Expect命令的具体实例,帮助解决自动化脚本执行过程中涉及交互式程序的问题。通过详细解释和代码示例,使读者能够轻松掌握这一技术的应用方法。 我一直都想把expect的操作整合到bash脚本里,这样就不再需要两个脚本来执行了。经过一下午的努力,终于取得了一点小进展,分享给大家看看。 系统: CentOS 5.x 1. 安装expect: ```shell yum -y install expect ``` 2. 脚本内容如下: ```shell cat auto_svn.sh #!/bin/bash passwd=123456 /usr/bin/expect <
  • Shell量操作交换机
    优质
    本教程介绍如何使用Shell脚本来自动化管理网络设备中的交换机,通过编写和执行脚本文件来高效地配置或查询大量交换机上的命令。 本脚本通过Shell编程实现将需要批量执行的命令记录在命令文本中,并通过脚本进行批量刷新执行。此例展示了如何在一个交换机上进行批量操作;若需同时在多台设备上执行相同的操作,可以联系作者获取进一步的帮助。
  • Spark Shell执行技巧
    优质
    本文介绍了如何在Apache Spark的交互式Shell环境中高效地执行批量命令,提供了实用的脚本编写和优化建议。 今天给大家分享如何使用Spark-shell批量执行命令的脚本方法,这具有很好的参考价值,希望能对大家有所帮助。让我们一起看看具体内容吧。
  • ADB Shell大全
    优质
    《ADB Shell命令大全》是一份全面总结Android设备调试桥(ADB)Shell命令的手册,涵盖常用及高级指令,帮助开发者和用户高效管理与操作安卓系统。 1. 开发过程中实用的各种ADB命令大全,并附带实例讲解。 2. 一些不常见但非常有用的ADB shell命令。
  • ShellAwk
    优质
    本文将介绍如何在Shell脚本中使用Awk命令进行文本处理和数据操作,帮助读者掌握其基本语法与高级技巧。 shell中的awk命令文章目录 1. awk – “样式扫描和处理语言” 2. awk模式匹配 3. 记录和域 4. 指定分隔符 `-F ` 或 `FS=` 5. 关系和布尔运算值 6. 表达式 7. 系统变量 8. 格式化输出 9. 内置字符串函数,如 gsub 函数、index 和 length awk 是一种非常实用的语言,适用于文本处理和报表生成。它的语法相对常见,并融合了一些其他语言的优秀特性,在Linux系统日常工作中发挥着重要作用。 awk 程序包含一个主要输入循环,该循环会反复执行直到满足特定条件为止。这个主输入循环无需程序员手动编写,因为 awk 已经构建好了这一框架。
  • Android ADB Shell大全
    优质
    《Android ADB Shell命令大全》是一份全面详实的手册,涵盖了ADB Shell中所有重要的命令和操作技巧,旨在帮助开发者和用户更高效地管理和调试安卓设备。 Android ADB Shell命令大全: 1. 显示系统中的所有Android平台:`android list targets` 2. 列出所有的AVD(模拟器):`android list avd` 3. 创建一个新的AVD(模拟器):`android create avd --name 名称 --target 平台编号` 4. 启动指定的模拟器: `emulator -avd 名称 [-skin 1280x800] (-sdcard ~/名称.img)` 5. 删除一个特定的AVD(模拟器):`android delete avd --name 名称` 6. 创建SD卡映像文件:`mksdcard 1024M ~/名称.img` 7. 查找AVD的位置: - Linux: `~/.android/avd` - Windows: `C:\Documents and Settings\Administrator\.android\avd` 8. 启动DDMS工具:`ddms` 9. 显示当前运行的所有模拟器:`adb devices` 10. 对特定的模拟器执行命令:`adb -s 模拟器编号 命令` 11. 安装应用程序到设备上: `adb install -r 应用程序.apk` 12. 从模拟器中提取文件至本地机器:`adb pull <远程路径> <本地路径>` 13. 将文件写入模拟器或设备内存储空间:`adb push <本地路径> <远程路径>` 14. 进入到Android Shell模式执行命令: `adb shell` 15. 启动SDK管理工具、文档查看器及示例下载程序:`android` 16. 卸载应用程序包并重新安装: 1. `adb shell cd data/app rm apk包 exit` 2. `adb uninstall apk包的主包名` 3. `adb install -r apk包` 17. 查看ADB命令的帮助信息:`adb help` 18. 在终端中查看LOG日志:`adb logcat -s 标签名` 19. ADB Shell后面的命令主要来自于Android源码的以下目录: - 源代码\system\core\toolbox - 源代码\frameworks\base\cmds 20. 删除系统应用: 1. `adb remount`(重新挂载系统分区,使它可写) 2. `adb shell cd system/app rm *.apk` 21. 获取超级用户权限:`adb root` 22. 启动Activity: - 命令格式:`adb shell am start -n 包名/包名+类名(-n 类名,-a action,-d date,-m MIME-TYPE,-c category,-e 扩展数据,等)` 23. 发布端口至设备或模拟器: `adb forward tcp:5555 tcp:8000` 24. 文件复制操作: - 向设备/模拟器推送文件:`adb push <源> <目标>` - 从设备/模拟器拉取文件:`adb pull <远程位置> <本地路径>` 25. 查找当前运行的实例: `adb devices` 26. 获取Bug报告:`adb bugreport` 27. 记录无线通讯日志: 命令行执行如下命令记录特定类别(如无线电)的日志信息:`adb shell logcat -b radio` 28. 收集设备的ID和序列号 1. `adb get-product` 2. `adb get-serialno` 29. 使用SQLite3访问数据库: 进入系统指定文件夹,列出并操作其中的内容:`adb shell sqlite3 #cd system/sd/data //进入系统内特定目录; #ls //显示当前目录内容;#rm -r xxx//删除名为xxx的整个文件夹及其内部所有子项; #rm xxx //仅移除名称为xxx的文件; #rmdir xxx 删除空文件夹`