Android 深入研究adb(十二)

本文详细介绍了如何使用ADB shell命令在模拟器/设备中执行shell命令,包括远程shell命令的使用、SQLite3数据库的管理、Monkey测试工具的介绍以及ADB shell命令的基本知识。此外,还展示了如何通过ADB shell命令进行日志记录、数据库操作和测试工具的使用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

当没有完全进入到远程shell的时候,这样使用shell 命令来执行一条命令:
  adb [-d|-e|-s {< serialNumber>}] shell < shellCommand>

  在模拟器/设备中不用远程shell端时,这样使用shell 命 :
  adb [-d|-e|-s {< serialNumber>}] shell

  通过操作CTRL+D 或exit 就可以退出shell远程连接.

  下面一些就将告诉你更多的关于shell命令的知识.

  通过远程shell端运行sqllite3连接数据库
  通过adb远程shell端,你可以通过Android软sqlite3 命令程序来管理数据库。sqlite3 工具包含了许多使用命令,比如:.dump 显示表的内容,.schema 可以显示出已经存在的表空间的SQL CREATE结果集。Sqlite3还允许你远程执行sql命令.

  通过sqlite3 , 按照前几节的方法登陆模拟器的远程shell端,然后启动工具就可以使用sqlite3 命令。当sqlite3 启动以后,你还可以指定你想查看的数据库的完整路径。模拟器/设备实例会在文件夹中保存SQLite3数据库. /data/data/< package_name>/databases/ .

  示例如下:

  $ adb -s emulator-5554 shell# sqlite3 /data/data/com.example.google.rss.rssexample/databases/rssitems.dbSQLite version 3.3.12Enter ".help" for instructions.... enter commands, then quit...sqlite> .exit

  当你启动sqlite3的时候,你就可以通过shell端发送 sqlite3 ,命令了。用exit 或 CTRL+D 退出adb远程shell端.

  UI/软件 试验程序 Monkey

  当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候,它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开发的软件.
  最简单的方法就是用用下面的命令来使用Monkey,这个命令将会启动你的软件并且触发500个事件.
  $ adb shell monkey -v -p your.package.name 500
  更多的关于命令Monkey的命令的信息,可以查看UI/Application Exerciser Monkey documentation page.
  文档页面

  其它的shell命令
  下面的表格列出了一些adbshell命令,如果需要全部的命令和程序,可以启动模拟器实例并且用adb -help 命令 .
  adb shell ls /system/bin

  对大部门命令来说,help都是可用的.
       Shell Command Description Comments
  dumpsys 清除屏幕中的系统数据n. Dalvik Debug Monitor Service (DDMS)工具提供了完整的调试、.
  dumpstate 清除一个文件的状态.
  logcat [< option>]... [< filter-spec>]... 启动信息日志并且但因输出到屏幕上.
  dmesg 输出主要的调试信息到屏幕上.
  start 启动或重启一个模拟器/设备实例.
  stop 关闭一个模拟器/设备实例.

  启用logcat日志
  Android日志系统提供了记录和查看系统调试信息的功能。日志都是从各种软件和一些系统的缓冲区中记录下来的,缓冲区可以通过 logcat 命令来查看和使用.

  使用logcat命令

  你可以用 logcat 命令来查看系统日志缓冲区的内容:
  [adb] logcat [< option>] ... [< filter-spec>] ...
  请查看Listing of logcat Command Options ,它对logcat命令有详细的描述 .
  你也可以在你的电脑或运行在模拟器/设备上的远程adb shell端来使用logcat 命令,也可以在你的电脑上查看日志输出。
  $ adb logcat
  你也这样使用:
  # logcat

  过滤日志输出
  每一个输出的Android日志信息都有一个标签和它的优先级.
  * 日志的标签是系统部件原始信息的一个简要的标志。(比如:“View”就是查看系统的标签).
  * 优先级有下列集中,是按照从低到高顺利排列的:
  V — Verbose (lowest priority)
  D — Debug
  I — Info
  W — Warning
  E — Error
     F — Fatal
  S — Silent (highest priority, on which nothing is ever printed)
  在运行logcat的时候在前两列的信息中你就可以看到 logcat 的标签列表和优先级别,它是这样标出的:< priority>/< tag> .

  下面是一个logcat输出的例子,它的优先级就似乎I,标签就是ActivityManage:
  I/ActivityManager( 585): Starting activity: Intent { action=android.intent.action...}
  为了让日志输出能体现管理的级别,你还可以用过滤器来控制日志输出,过滤器可以帮助你描述系统的标签等级.
  过滤器语句按照下面的格式描tag:priority ... , tag 表示是标签, priority 是表示标签的报告的最低等级.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值