位置: 编程技术 - 正文

ADB (Android Debug Bridge)常用命令

编辑:rootadmin

推荐整理分享ADB (Android Debug Bridge)常用命令,希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:,内容如对您有帮助,希望把文章链接给更多的朋友!

ADB (Android Debug Bridge)

说明:下面一些命令需要有root权限才能执行成功 快速启动dos窗口执行adb: 1. adb.exe所在路径添加到系统环境变量中 2. 配置快捷键启动dos 进入C:WINDOWSsystem目录下,找到cmd.exe. 右击菜单 “发送到” -> 桌面快捷方式。 在桌面上右击”快捷方式 到 cmd.exe” -> “属性” -> “快捷方式”页 -> 光标高亮”快捷键” -> 按下自定义快捷键 (如:Ctrl + Alt + Z)

任何情况下,按下Ctrl + Alt + Z启动dos窗口就可以执行adb命令了

———–查看设备连接状态 系列———– adb get-serialno 获取设备的ID和序列号serialNumber adb devices 查询当前计算机上连接那些设备(包括模拟器和手机),输出格式: [serialNumber] [state] adb get-state 查看模拟器/设施的当前状态.

说明: 序列号[serialNumber]——由adb创建的一个字符串,这个字符串通过自己的控制端口- 唯一地识别一个模拟器/设备实例。一个序列号的例子: emulator-

———–发送命令到设备 系列———– adb [-d|-e|-s ] -d 发送命令给usb连接的设备 -e 发送命令到模拟器设备 -s 发送命令到指定设备

如启动手机设备shell: adb -d shell

adb forward 发布端口,可以设置任意的端口号, 做为主机向模拟器或设备的请求端口。如:adb forward tcp: tcp:

adb reboot 重启手机 adb remount 将system分区重新挂载为可读写分区 adb kill-server 终止adb服务进程 adb start-server 重启adb服务进程 adb root 已root权限重启adb服务 adb wait-for-device 在模拟器/设备连接之前把命令转载在adb的命令器中 adb jdwp 查看指定的设施的可用的JDWP信息. 可以用 forward jdwp: 端口映射信息来连接指定的JDWP进程.例如: adb forward tcp: jdwp: jdb -attach localhost:

adb shell am 命令可以启动应用程序

adb shell input text 向设备输入文本(光标所在的文本框) adb shell input keyevent 向设备发送按键事件 如: 在编辑短信时,往文本框输入文本:adb shell input text “hello” 向手机发送键值回Home:adb shell input keyevent 3 event_code 参考view/KeyEvent.java中的 KEYCODE_* public static final int KEYCODE_SOFT_LEFT = 1; public static final int KEYCODE_SOFT_RIGHT = 2; public static final int KEYCODE_HOME = 3; public static final int KEYCODE_BACK = 4; public static final int KEYCODE_CALL = 5; public static final int KEYCODE_ENDCALL = 6;

———–安装卸载 系列———– adb install [-l] [-r] - push this package file to the device and install it (‘-l’ means forward-lock the app) (‘-r’ means reinstall the app, keeping its data) adb uninstall [-k] - remove this app package from the device (‘-k’ means keep the data and cache directories) 如: adb install d:hello.apk adb unstall com.huawei.hello 说明:如果带-r选项重新安装apk时,安装在 /data/local/tmp/目录下,手机重启后还是使用原来的apk.

———–文件操作 系列———– adb push - copy file/dir to device adb pull - copy file/dir from device

———–基本linux shell命令 系列———– adb shell [command] ls 列出目录下的文件和文件夹 cd 切换目录 rm 删除目录和文件 cat 查看文件内容 ps 可以看那个进程再跑 ps -x [PID] 查看单个进程的状态 top 可以看那个进程的占用率最高 su 切换到root用户 kill [pid] 杀死一个进程 chmod 修改该文件为可执行权限

详细使用情况可以登录一台Linux服务器在shell下查看帮助手册, man

———–查看系统状态和信息 系列———– adb shell procrank 查询各进程内存使用情况 adb shell service list 查看services信息 adb shell cat /proc/meminfo 查看当前的内存情况 adb shell cat /proc/cpuinfo 查看CPU信息(硬件) adb shell cat /proc/iomem 查看IO内存分区

adb shell getprop 列出系统所有属性 adb shell getprop | findstr “gsm” 列出包含gsm的属性 adb shell setprop 修改系统属性

adb shell sqlite3 可以执行sql语句查看数据库信息, 具体使用情况待调查

———–Log 系列———– adb logcat [ ] - View device log

1~~~~~~~~~~~查看可用日志缓冲区: adb logcat -b radio — 查看缓冲区的相关的信息. adb logcat -b events — 查看和事件相关的的缓冲区. adb logcat -b main — 查看主要的日志缓冲区

2~~~~~~~~~~~过滤日志输出: 过滤器语句按照下面的格式描tag:priority … , tag 表示是标签, priority 是表示标签的报告的最低等级 adb logcat *:W 显示优先级为warning或更高的日志信息 adb logcat ActivityManager:I MyApp:D *:S

日志的标签是系统部件原始信息的一个简要的标志。(比如:“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 ,相比在远程adbshell端,你还可以为环境变量ANDROID_LOG_TAGS :输入一个参数来设置默认的过滤 export ANDROID_LOG_TAGS=”ActivityManager:I MyApp:D *:S” 需要注意的是ANDROID_LOG_TAGS 过滤器如果通过远程shell运行logcat 或用adb shell logcat 来运行模拟器/设备不能输出日志.

3~~~~~~~~~~~控制日志输出格式: 日志信息包括了许多元数据域包括标签和优先级。可以修改日志的输出格式,所以可以显示出特定的元数据域。可以通过 -v 选项得到格式化输出日志的相关信息.

brief — Display priority/tag and PID of originating process (the default format). process — Display PID only. tag — Display the priority/tag only. thread — Display process:thread and priority/tag only. raw — Display the raw log message, with no other metadata fields. time — Display the date, invocation time, priority/tag, and PID of the originating process. long — Display all metadata fields and separate messages with a blank lines. 当启动了logcat ,你可以通过-v 选项来指定输出格式:

[adb] logcat [-v ] 下面是用 thread 来产生的日志格式:

ADB (Android Debug Bridge)常用命令

adb logcat -v thread 需要注意的是你只能-v 选项来规定输出格式 option.

4~~~~~~~~~~~Logcat命令列表 -b 加载一个可使用的日志缓冲区供查看,比如event 和radio . 默认值是main 。具体查看Viewing Alternative Log Buffers. -c 清楚屏幕上的日志. -d 输出日志到屏幕上. -f 指定输出日志信息的 ,默认是stdout . -g 输出指定的日志缓冲区,输出后退出. -n 设置日志的最大数目 .,默认值是4,需要和 -r 选项一起使用。 -r 每 时输出日志,默认值为,需要和-f 选项一起使用. -s 设置默认的过滤级别为silent. -v 设置日志输入格式,默认的是brief 格式,要知道更多的支持的格式,参看Controlling Log Output Format

adb bugreport - return all information from the device that should be included in a bug report.

adb shell dmesg 查询内核缓冲区信息 adb shell dumpstate 各类信息,比如进程信息,内存信息,进程是否异常,kernnel的log等 adb shell dumpcrash adb shell dumpsys 查询所有service的状态

———–其他 ———–

模拟器使用镜像sdcard 用SDK里的mksdcard工具来创建FAT磁盘镜像并在模拟器启动时加载它。这样创建镜像:? mksdcard , 比如我要创建一个M的SD卡模拟文件,文件路径是在D:workspacesdcard.img mksdcard D:workspacesdcard.img

Emulator –sdcard D:workspacesdcard.img 或者在eclipse的run菜单的open run dialog对话框中配置启动参数。

top

Usage: top [ -m max_procs ] [ -n iterations ] [ -d delay ] [ -s sort_column ] [ -t ] [ -h ] -m num Maximum number of processes to display. -n num Updates to show before exiting. -d num Seconds to wait between updates. -s col Column to sort by (cpu,vss,rss,thr). -t Show threads instead of processes. -h Display this help screen.

* simple selection * * selection by list * -A all processes -C by command name -N negate selection -G by real group ID (supports names) -a all w/ tty except session leaders -U by real user ID (supports names) -d all except session leaders -g by session OR by effective group name -e all processes -p by process ID T all processes on this terminal -s processes in the sessions given a all w/ tty, including other users -t by tty g OBSOLETE – DO NOT USE -u by effective user ID (supports names) r only running processes U processes for specified users x processes w/o controlling ttys t by tty * output format ** *** long options * -o,o user-defined -f full –Group –User –pid –cols –ppid -j,j job control s signal –group –user –sid –rows –info -O,O preloaded -o v virtual memory –cumulative –format –deselect -l,l long u user-oriented –sort –tty –forest –version -F extra full X registers –heading –no-heading –context * misc options * -V,V show version L list format codes f ASCII art forest -m,m,-L,-T,H threads S children in sum -y change -l format -M,Z security data c true command name -c scheduling class -w,w wide output n numeric WCHAN,UID -H process hierarchy

netstat -ano 查看网络连状态 显示协议统计信息和当前 TCP/IP 网络连接。

NETSTAT [-a] [-b] [-e] [-n] [-o] [-p proto] [-r] [-s] [-v] [interval]

-a 显示所有连接和监听端口。 -b 显示包含于创建每个连接或监听端口的 可执行组件。在某些情况下已知可执行组件 拥有多个独立组件,并且在这些情况下 包含于创建连接或监听端口的组件序列 被显示。这种情况下,可执行组件名 在底部的 [] 中,顶部是其调用的组件, 等等,直到 TCP/IP 部分。注意此选项 可能需要很长时间,如果没有足够权限 可能失败。 -e 显示以太网统计信息。此选项可以与 -s 选项组合使用。 -n 以数字形式显示地址和端口号。 -o 显示与每个连接相关的所属进程 ID。 -p proto 显示 proto 指定的协议的连接;proto 可以是 下列协议之一: TCP、UDP、TCPv6 或 UDPv6。 如果与 -s 选项一起使用以显示按协议统计信息,proto 可以是下列协议之一: IP、IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 或 UDPv6。 -r 显示路由表。 -s 显示按协议统计信息。默认地,显示 IP、 IPv6、ICMP、ICMPv6、TCP、TCPv6、UDP 和 UDPv6 的统计信息; -p 选项用于指定默认情况的子集。 -v 与 -b 选项一起使用时将显示包含于 为所有可执行组件创建连接或监听端口的 组件。 interval 重新显示选定统计信息,每次显示之间 暂停时间间隔(以秒计)。按 CTRL+C 停止重新 显示统计信息。如果省略,netstat 显示当前 配置信息(只显示一次)

pm usage: pm [list|path|install|uninstall] pm list packages [-f] pm list permission-groups pm list permissions [-g] [-f] [-d] [-u] [GROUP] pm list instrumentation [-f] [TARGET-PACKAGE] pm list features pm path PACKAGE pm install [-l] [-r] [-t] [-i INSTALLER_PACKAGE_NAME] PATH pm uninstall [-k] PACKAGE pm enable PACKAGE_OR_COMPONENT pm disable PACKAGE_OR_COMPONENT

The list packages command prints all packages. Options: -f: see their associated file.

The list permission-groups command prints all known permission groups.

The list permissions command prints all known permissions, optionally only those in GROUP. Options: -g: organize by group. -f: print all information. -s: short summary. -d: only list dangerous permissions. -u: list only the permissions users will see.

The list instrumentation command prints all instrumentations, or only those that target a specified package. Options: -f: see their associated file.

The list features command prints all features of the system.

The path command prints the path to the .apk of a package.

The install command installs a package to the system. Options: -l: install the package with FORWARD_LOCK. -r: reinstall an exisiting app, keeping its data. -t: allow test .apks to be installed. -i: specify the installer package name.

The uninstall command removes a package from the system. Options: -k: keep the data and cache directories around. after the package removal.

The enable and disable commands change the enabled state of a given package or component (written as “package/class”).

查看stdout 和stderr 在默认状态下,Android系统有stdout 和 stderr (System.out和System.err )输出到/dev/null , 在运行Dalvik VM的进程中,有一个系统可以备份日志文件。在这种情况下,系统会用stdout 和stderr 和优先级 I.来记录日志信息

通过这种方法指定输出的路径,停止运行的模拟器/设备,然后通过用setprop 命令远程输入日志

adbshellstop adb shell setprop log.redirect-stdio true $ adb shell start系统直到你关闭模拟器/设备前设置会一直保留,可以通过添加/data/local.prop 可以使用模拟器/设备上的默认设置

UI/软件 试验程序 Monkey 当Monkey程序在模拟器或设备运行的时候,如果用户出发了比如点击,触摸,手势或一些系统级别的事件的时候, 它就会产生随机脉冲,所以可以用Monkey用随机重复的方法去负荷测试你开发的软件. 最简单的方法就是用用下面的命令来使用Monkey,这个命令将会启动你的软件并且触发个事件.

$ adb shell monkey -v -p your.package.name 更多的关于命令Monkey的命令的信息,可以查看UI/Application Exerciser Monkey documentation page.

版权声明:本文为博主原创文章,未经博主允许不得转载。

android ios UI

工作拾遗 1、Android快速开发框架afinal,

Android Apk病毒查杀

标签: ADB (Android Debug Bridge)常用命令

本文链接地址:https://www.jiuchutong.com/biancheng/376518.html 转载请保留说明!

上一篇:Android 编程下 SQLite 大数据量操作优化(插入操作)(android sql语句)

下一篇:android ios UI

  • 来料加工增值税率
  • 增值税进项税是多少
  • 其他债权投资的交易费用计入哪里
  • 申报表填完后下一步是什么
  • 水利建设专项收入的税率是多少?
  • 其他应收款减值测试注意什么
  • 个人账户发工资扣税吗
  • 小规模残疾人交多少税收
  • 城建税如何核算成本
  • 海关完税凭证如何抵扣进项税
  • 用友如何取消月末结转
  • 施工分包分为哪些
  • 税务未抄报
  • 政府补贴可以税前扣除填写在哪里
  • 企业所得税免税收入和不征税收入
  • 关于增值税普通发票情况的函范文
  • 浅谈收入与成本的关系
  • 2019年印花税税率表
  • 仓库多入库怎么退
  • 企业取得的哪些成果
  • 应收账款核销会计处理
  • 税务年报网上怎么申报小微企业
  • 企业所得税营业收入
  • 企业投资股票取什么名字
  • 预付账款供应商类别怎么填
  • win10我的电脑图标不见了怎么恢复原状
  • 鸿蒙系统怎么升级3.0
  • 宏基aspire v5-573g怎样加运行内存
  • 税控盘不交服务费的后果
  • php中的类是什么
  • 员工加班车费会计分录
  • 一般纳税人普通发票怎么交税
  • php零基础教程
  • 在建工程可以计入资本性支出吗
  • 排灯节起源
  • php一个文件搞定两个文件
  • 详解16型人格
  • gpt40
  • 企业以前年度亏损不可以用什么弥补
  • 学费入账处理
  • 记账凭证中的会计科目错误导致账簿错误的更正法
  • 企业间借款利息开票税收分类编码
  • mysql密码忘记了咋办
  • mongodb基础知识
  • 无法收到的租金要交房产税吗
  • 商业汇票贴现时间轴
  • 双软企业的税收优惠政策新政策文件
  • 不是公司员工可以报销费用吗
  • 公司收到注册资本金需要做哪些呢
  • 建筑业跨区域预缴税款的计算
  • 软件研发的整个流程
  • 进项税和销项税月末怎么结转
  • 收到某单位投入机器一台
  • 购进生产免税货物用材料可以抵扣进项税额吗
  • 增值税未开票收入
  • 福利费可以直接入管理费用吗
  • 按工人工资比例结转制造费用会计科目
  • 基本户转账到法院怎么转
  • 职工外地就医怎么报销
  • 银行汇票可用于异地结算吗
  • 为什么要提前计划
  • 进项票超期未认证怎么办
  • 什么是企业合并?
  • 非营利医疗机构由谁批准
  • 用SQL脚本读取Excel中的sheet数量及名称的方法代码
  • 自我挖掘的才干
  • 简单易上手 固态硬盘SSD安装WIN7系统的3种办法
  • win7系统玩游戏好吗
  • linux系统干嘛的
  • linux服务器被尝试登录失败
  • Linux shell实现HTTP服务示例代码
  • meta 标签
  • nodejs处理excel
  • 置顶的朋友圈屏蔽的人能看到吗
  • 查看项目层级结构怎么查
  • 基于javascript的毕业设计选题
  • python 字符 字符串
  • 江西电子税务局官网app
  • 申请税务增票怎么写
  • 三证合一怎么申报
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设