android_adb_shell常用脚本分析

合集下载

adb shell相关操作

adb shell相关操作

adb shell相关操作
adb shell是Android Debug Bridge (ADB) 工具的一部分,它允许开发人员通过命令行界面与Android设备进行交互。

以下是一些常见的adb shell相关操作:
1. 进入设备的shell环境:
```
adb shell
```
这将打开一个类似于终端的命令行界面,您可以在其中执行设备上的命令。

2. 运行设备上的命令:
在adb shell中,您可以运行任何适用于设备的命令。

例如,您可以运行以下命令来查看设备的文件列表:
```
ls
```
或者您可以运行以下命令以root权限运行命令:
```
su
```
3. 复制文件到设备:
```
adb push <本地文件路径> <设备目标路径>
```
这将把本地文件复制到设备上的指定路径。

4. 从设备复制文件到本地:
```
adb pull <设备路径> <本地目标路径>
```
这将从设备上指定路径复制文件到本地目标路径。

5. 安装应用程序:
```
adb install <应用程序路径>
```
这将安装位于本地路径上的应用程序到设备上。

6. 卸载应用程序:
```
adb uninstall <应用程序包名>
```
这将卸载设备上指定包名的应用程序。

这些是使用adb shell进行一些常见操作的示例。

通过使用adb shell,您可以与设备进行交互,并运行各种命令来进行开发和调试。

adb常用的几个命令 adbinstall

adb常用的几个命令 adbinstall

adb常用的几个命令 adbinstall ADB(Android Debug Bridge)是Android开发工具包(SDK)中的一个命令行工具,用于与Android设备进行通信和调试。

ADB常用的几个命令如下:1. adb devices:用于列出当前连接的Android设备列表。

当设备连接到计算机时,可以使用该命令来验证设备是否成功连接。

2. adb shell:用于在设备的shell环境下执行命令。

通过该命令可以获取设备的root权限,以便执行一些需要root权限的操作。

3. adb install:用于将应用程序安装到连接的Android设备上。

命令格式为“adb install <path_to_apk_file>”,其中<path_to_apk_file>为待安装的APK文件的路径。

4. adb uninstall:用于从连接的Android设备中卸载应用程序。

命令格式为“adb uninstall <package_name>”,其中<package_name>为待卸载应用程序的包名。

5. adb push:用于将文件从计算机复制到连接的Android设备中。

命令格式为“adb push <local_file> <device_path>”,其中<local_file>为计算机上的文件路径,<device_path>为目标设备中的路径。

6. adb pull:用于将文件从连接的Android设备中复制到计算机上。

命令格式为“adb pull <device_file> <local_path>”,其中<device_file>为设备上的文件路径,<local_path>为目标计算机上的路径。

7. adb logcat:用于查看设备的日志信息。

Android常用adb命令总结

Android常用adb命令总结

Android常⽤adb命令总结针对移动端 Android 的测试, adb 命令是很重要的⼀个点,必须将常⽤的 adb 命令熟记于⼼,将会为 Android 测试带来很⼤的⽅便,其中很多命令将会⽤于⾃动化测试的脚本当中。

Android Debug Bridgeadb 其实就是Android Debug Bridge, Android 调试桥的缩写,adb 是⼀个C/S架构的命令⾏⼯具,主要由 3 部分组成:运⾏在 PC 端的 Client : 可以通过它对 Android 应⽤进⾏安装、卸载及调试Eclipse 中的 ADT、SDK Tools ⽬录下的 DDMS、Monitor 等⼯具,都是同样地⽤到了 adb 的功能来与 Android 设备进⾏交互。

PC 端的⼿机助⼿,诸如 360 ⼿机助⼿、豌⾖荚、应⽤宝等,其除了安装第三⽅应⽤⽅便,其他的功能,基本上都可以通过 adb 命令去完成,这⾥建议测试⼈员尽量不要在电脑上安装这类⼿机助⼿,因为其⾃带的 adb 程序可能会与 Android SDK下的 adb 程序产⽣冲突,5037端⼝被占⽤,导致使⽤ adb 命令时⽆法连接到设备运⾏在 PC 端的 Service : 其管理客户端到 Android 设备上 adb 后台进程的连接adb 服务启动后,Windows 可以在任务管理器中找到 adb.exe 这个进程运⾏在 Android 设备上的 adb 后台进程执⾏adb shell ps | grep adbd,可以找到该后台进程,windows 请使⽤findstr替代 grep[xuxu:~]$ adb shell ps | grep adbdroot 23227 1 6672 832 ffffffff 00019bb4 S /sbin/adbd这⾥注意⼀个地⽅,就是 adb 使⽤的端⼝号,5037,有必要记⼀下接下来我将 adb 命令分为三部分进⾏介绍,adb 命令、adb shell 命令、linux 命令adb 命令在开发或者测试的过程中,我们可以通过 adb 来管理多台设备,其⼀般的格式为:adb [-e | -d | -s <设备序列号>] <⼦命令>在配好环境变量的前提下,在命令窗⼝当中输⼊ adb help 或者直接输⼊ adb ,将会列出所有的选项说明及⼦命令。

androidadb实用命令小结

androidadb实用命令小结

androidadb实⽤命令⼩结adb对于Android程序员来说在⽇常的⼯作中使⽤频率很⾼,现将⾃⼰⼯作中常⽤的adb命令总结⼀下备忘,⽅便查询,也供⼤家参考。

查看应⽤内存占⽤,耗电信息,启动时间,wakelock,跑monkey的命令在之前的应⽤性能优化中起了不⼩的作⽤。

以下adb命令的测试机器为⼩⽶3,其中package_name代表包名。

基础脚本:1、启动adb服务adb start-server2、终⽌adb服务adb kill-server3、进⼊adb运⾏环境adb shell4、获取帮助⾥⾯有adb的各种命令和参数的介绍adb help5、查看adb版本adb version6、以root权限重启adbadb root7、将system分区重新挂在为可读写分区,此命令在操作系统⽬录时很重要adb remount8、重启设备,可选参数进⼊bootloader(刷机模式)或recovery(恢复模式)adb reboot [bootloader|recovery]apk相关:1、安装apkadb install test.apk -r 覆盖安装,保留数据和缓存⽂件 -d 解决低版本version问题 -s 安装apk到sd卡2、卸载apkadb uninstall -k <package_name>可选参数-k的作⽤为卸载软件但是保留配置和缓存⽂件3、查看app相关所有信息,包括action,codepath,version,需要的权限等等信息adb shell dumpsys package <package_name>4、查看app的路径adb shell pm path <package_name>查看了⼀个普通app的路径,如下,位于data/app下⾯的普通apppackage:/data/app/com.tencent.test-1/base.apk5、查看apk的版本信息adb shell dumpsys package <package_name> | grep version如果你得到的是下图的两个version版本,则为系统app,下⾯是系统app本⾝的版本,上⾯是升级之后的系统app的版本信息versionCode=8 targetSdk=22 versionName=V0.08 versionCode=6 targetSdk=22 versionName=V0.06、启动activityadb shell am start -n <package_name>/.<activity_class_name>7、获得应⽤的启动时间,可以很⽅便地获取应⽤的启动时间adb shell am start -W <package_name>/.<activity_class_name>试验结果如下:adb shell am start -W .test/com.painter.test.PainterMainActivity Starting: Intent { act=android.intent.action.MAIN cat=[UNCHER] cmp=.test/com.painter.test.PainterMainActivity } Status: ok Activity: .test/com.pa 返回的⼏个结果,以WaitTime为准,返回的是从startActivity到应⽤第⼀帧完全显⽰的时间。

adb shell sed用法

adb shell sed用法

sed(Stream Editor)是一个用于文本处理的流编辑器,常用于在命令行下对文本进行替换、删除、插入等操作。

在 Android 开发中,adb shell中的sed命令可以用于在设备上对文件或文本进行编辑。

以下是一些常见的adb shell sed的用法:
1. 替换文本:
这将在file.txt文件中将所有匹配到的old_text替换为new_text。

g表示全局替换。

2. 删除行:
这将删除包含匹配pattern_to_match的所有行。

3. 插入行:
这将在包含匹配pattern_to_match的行之前插入新行new_line_to_insert。

4. 追加行:
这将在包含匹配pattern_to_match的行之后追加新行new_line_to_append。

5. 在行首添加文本:
这将在每一行的行首添加prefix_text。

6. 在行尾添加文本:
这将在每一行的行尾添加suffix_text。

注意事项:
▪如果在adb shell中直接使用sed,需要使用单引号将sed命令包裹,以防止本地 Shell 对命令进行解释。

▪sed在 Android 设备上可能有一些轻微的差异,具体取决于设备上所使用的Shell 版本。

在较新的Android 版本中,通常会有支持常见sed功能的Shell。

▪如果要对文件进行直接编辑而不创建新文件,可以使用-i选项,但在某些Android 设备上可能需要指定备份扩展名,例如-i.bak。

请根据实际需求选择适当的sed命令和选项。

adb shell ifconfig参数

adb shell ifconfig参数

adb shell ifconfig参数摘要:1.了解adb shell命令2.掌握ifconfig命令的作用和参数3.操作实例及解析正文:在Android开发过程中,ADB(Android Debug Bridge)是一个非常实用的工具,它可以帮助开发者与安卓设备进行通信和控制。

adb shell命令是ADB中的一种命令,可以让我们在设备上执行Linux命令。

而ifconfig命令是Linux系统中用于查看和配置网络接口的常用命令。

本文将介绍如何使用adb shell命令结合ifconfig命令来查看和管理安卓设备的网络接口。

一、了解adb shell命令ADB的全称是Android Debug Bridge,它是一个用于在计算机和安卓设备之间进行通信的命令行工具。

通过使用adb shell命令,开发者可以在计算机上执行Linux命令,从而实现对安卓设备的远程控制。

为了让ADB识别设备,需要在设备上启用USB调试功能。

二、掌握ifconfig命令的作用和参数ifconfig命令是Linux系统中用于查看和配置网络接口的命令。

它可以显示当前设备的网络接口信息,如IP地址、子网掩码、网关等。

同时,ifconfig 命令还可以用于配置网络接口,如更改IP地址、启用或禁用网络接口等。

ifconfig命令的主要参数如下:1.-a:显示所有网络接口的详细信息。

2.-v:显示详细信息,相当于“-a”参数。

3.-s:以汇总形式显示网络接口的统计信息。

4.-n:以数字格式显示网络接口的地址。

5.-o:仅显示网络接口的名称和状态。

6.-p:显示进程使用的网络接口。

7.-r:显示路由表信息。

8.-l:显示链路层地址。

三、操作实例及解析以下是一个使用adb shell命令和ifconfig命令的操作实例:1.将安卓设备连接到计算机上。

2.开启安卓设备的USB调试功能。

3.打开命令行窗口,输入以下命令:```adb shell```此时,计算机上会显示安卓设备的命令行界面。

adbshell常用命令(一)

adbshell常用命令(一)adb shell 里面有许多有用的命令可以帮助我们对android模拟器或设备进行操作首先进入adb shellC:\Users uxu>adb shellroot@xumin:/ #(一)基本的linux命令1.ls列出当前目录下的文件夹和文件,可以用ls -l或直接ll列出详细内容root@xumin:/ # lllldrwxr-xr-x root root 1970-01-28 13:48 acctdrwxrwx--- system cache 1970-01-28 08:03 cache -rwxr-x--- root root 268456 1970-01-01 08:00 charger dr-x------ root root 1970-01-28 13:48 configlrwxrwxrwx root root 1970-01-28 13:48 d -> /sys/kernel/debugdrwxrwx--x system system 2014-06-08 12:25 data2.pwd打印出当前所在的目录路径,在写脚本的时候会有用root@xumin:/system/app # pwdpwd/system/app3.cd切换目录"cd -" 切换到上次目录"cd .." 切换到上级目录"cd ../.."切换到上级的上级目录目录名较长时建议使用通配符"*",如cd到system目录:root@xumin:/ # cd sy*mcd sy*mroot@xumin:/system #4.cp复制文件,如复制当前目录下的xumin-song.mp3到当前目录下的tmp目录下:root@xumin:/storage/sdcard0 # cp xumin-song.mp3 ./tmp cp xumin-song.mp3 ./tmproot@xumin:/storage/sdcard0 # cd tmpcd tmproot@xumin:/storage/sdcard0/tmp # lslsxumin-song.mp35.mv移动文件或者文件夹,重命名。

ADB常用指令

ADB常用指令adb的全称为Android Debug Bridge,是管理android模拟器或者设备的一个工具,简单的说它就是一个调试工具。

以下是adb支持的常用命令: 1.选项指令(Options commands)(1)adb –d shell:仅通过USB接口管理adb,如果不只是USB接口返回错误(2)adb–e shell:仅通过模拟器来管理adb,如果不只是模拟器管理,返回错误(3)adb–s<serialNumber>:通过设备的允许的命令号码来发送命令来管理adb,没有指定号码,返回错误例如:adb–s 04035C1F18006014 shell(4)adb devices:查看所有连接的设备/模拟器(5)connect <host>[:<port>]以指定端口号连接设备(6)disconnect [<host>[:<port>]]与设备断开连接2.设备指令(device commands)(1)adb push <local><remote> :复制本地文件到设备上例如:adb push e:/folder /data/data(2)adb pull <remote> [<local>]:复制设备上的文件到本地例如:adb pull /data/data/folder e:(3)adb shell :登录设备的shell(4)adb shell <command> :登录设备的shell并执行command命令例如:adb shell ls(5)adbemu<command> :执行模拟器控制台命令(6)adblogcat [ <filter-spec> ] :查看设备的logcat,相当于eclipse上的logcat例如:adblogcatarcgallery:V表示输出TAG为arcgallery和级别在V以上的日志。

adb 常用 命令 总结 大全 汇总

adb 常用命令总结大全今天我们来总结一下Android Debug Bridge(adb)常用命令,adb 是Android开发中非常重要的一个工具,它可以帮助开发者与Android设备进行通信,进行调试以及管理设备上的应用程序。

了解adb的常用命令可以帮助开发者更高效地进行开发和调试工作。

下面就让我们来看一下adb的常用命令吧。

一、adb devices这是一个非常常用的命令,用于列出当前连接的Android设备。

执行该命令后,会显示设备的序列号以及设备状态(如device、offline 等)。

二、adb install该命令用于安装应用程序到Android设备上,需要指定应用程序的apk文件路径。

例如:adb install /path/to/your/app.apk三、adb uninstall与adb install相对应的是adb uninstall命令,用于从Android设备上卸载指定包名的应用程序。

例如:adb uninstall.example.app四、adb shell该命令用于进入设备的shell命令模式,可以在命令行中输入设备上的shell命令。

例如:adb shell五、adb push该命令用于将本地文件或目录推送到设备上的指定路径。

例如:adb push /path/to/local/file /path/to/device/file六、adb pull与adb push相对应的是adb pull命令,用于从设备上复制文件到本地。

例如:adb pull /path/to/device/file /path/to/local/file七、adb logcat该命令用于查看设备上的日志信息,可以通过各种参数来过滤日志内容,例如按标签过滤、按进程ID过滤等。

例如:adb logcatadb logcat -s TAG八、adb forward该命令用于设置端口转发,可以将设备上的指定端口转发到本地,用于调试设备上的网络服务。

adb shell常用命令

adb shell常用命令
以下是常用的adb shell命令:
1. cd:切换到指定目录
2. ls:列出当前目录下的内容
3. pwd:显示当前目录的路径
4. mkdir:创建一个新的目录
5. rm:删除指定文件或目录
6. mv:移动或重命名文件或目录
7. cp:复制文件或目录
8. touch:创建一个新的空文件
9. cat:显示文件的内容
10. vi或vim:编辑文件
11. ping:测试网络连接
12. ifconfig:查看网络信息
13. netstat:显示网络连接状态
14. ps:列出当前运行的进程
15. kill:结束指定的进程
16. top:实时显示系统资源使用情况
17. date:显示当前系统时间
18. cal:显示当前月份的日历
19. clear:清屏
20. exit:退出当前shell
需要注意的是,adb shell命令在操作系统中需要安装adb工具方可使用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
@echo on :memory adb shell ps 302 sleep 5000 goto memory 每5秒钟让系统输出一次302进程的内存使用状况 (需要sleep.bat脚本配合)
Monkey
• Monkey可以运行在模拟器里或实际设备中。它向 系统发送伪随机的用户事件流,实现对正在开发 的应用程序进行压力测试。 • 最简单的方法就是用下面的命令来使用Monkey, 这个命令将会启动你的软件并且触发50个事件。 • monkey -p packageName -v 50 • monkey -p com.android.settings -v 50
input text <string> input keyevent <event_code>
• top
常用adb shell命令
• • • • • ps ls df cat kill
访问数据库SQLite3
• adb shell sqlite3
pm
• • • • pm [list | path | install | uninstall] pm clear PACKAGE pm enable PACKAGE_OR_COMPONENT pm disable PACKAGE_OR_COMPONENT
• • • • • • V — 明细 (最低优先级) D — 调试 I — 信息 W — 警告 E — 错误 F — 严重错误
控制日志格式
• 日志消息在标记和优先级之外还有很多元数据字 段,这些字段可以通过修改输出格式来控制输出 结果, -v选项加上下面列出的内容可以控制输出 字段,比如adb logcat -v thread • brief — 显示优先级/标记和原始进程的PID (默认 格式) • process — 仅显示进程PID • tag — 仅显示优先级/标记 • thread — 仅显示进程:线程和优先级/标记 • raw — 显示原始的日志信息,没有其他的元数据 字段
ADB命令主要用途
• • • • 1.运行Android设备的shell(命令行) 2.管理模拟器或Android设备的端口映射 3.安装/卸载APK程序 4.计算机和Android设备之间上传/下载文件
启动和关闭ADB服务
• 1. adb kill-server
关闭ADB服务
• 2. adb start-server
adb 其它常用命令
• ddms
启动ddms • adb reboot 重启 • dmesg 打印出内核的调试信息
Shell命令
• 1.adb shell
登陆shell
启动Activities
• am start [-a <ACTION>] [-d <DATA_URI>] [-t <MIME_TYPE>] [-c <CATEGORY> [-c <CATEGORY>] ...] [-e <EXTRA_KEY> <EXTRA_VALUE> [-e <EXTRA_KEY> <EXTRA_VALUE> ...] [-n <COMPONENT>] [-D] [<URI>]
• adb logcat > 文件名
将logcat信息保存在文件中
过滤日志输出
• 过滤器表达式的格式是tag:priority • adb logcat ActivityManager:I *:S • 标记是一个简短的字符串,用于标识原始 消息的来源 (例如"View" 来源于显示系统) • 优先级是下面的字符,顺序是从低到高:
Viewing Alternative Log Buffers
• Android日志系统为日志消息保持了多个循环缓 冲区,而且不是所有的消息都被发送到默认缓冲 区,要想查看这些附加的缓冲区,可以使用-b 选 项,以下是可以指定的缓冲区: • radio — 查看包含在无线/电话相关的缓冲区消息 • events — 查看事件相关的消息 • main — 查看主缓冲区 (默认缓冲区) • -b 选项的用法: • [adb] logcat [-b <buffer>]
启动ADB服务
查看当前连接的设备
• adb devices
• 查看当前连接的设备, 连接到计算机的android设 备或者模拟器将会列表显示 输出信息格式为: [serialNumber] [state] $ adb devices List of devices attached emulator-5554 offline emulator-5556 device emulator-5558 device
名词解释
• VSS - Virtual Set Size 虚拟耗用内存(包含共 享库占用的内存) • RSS - Resident Set Size 实际使用物理内存 (包含共享库占用的内存) • PSS - Proportional Set Size 实际使用的物理内 存(比例分配共享库占用的内存) • USS - Unique Set Size 进程独自占用的物理内 存(不包含共享库占用的内存)
• am start -n com.android.settings/com.android.settings.Settings • am start -a android.intent.action.CALL -d tel:88888888
常用adb shell命令
• • • • • getprop setprop <key> <value> service list getevent input
ADB概要
• Android 调试系统是一个面对客户服务系统,包 括三个组成部分: • 电脑上运行的客户端。 • 在你用于开发的机器上作为后台进程运行的服务 器。该服务器负责管理客户端与运行模拟器或设 备上的adb守护程序(daemon)之间的通信。 • 一个以后台进程的形式运行于模拟器或设备上的 守护程序(daemon)。
把pc上的文件或文件夹上传到设备 如:adb push foo.txt /sdcard/foo.txt
• 2. adb pull <远程路径> <本地路径>
把设备上的文件或文件夹下载到pc 如:adb pull system/app D:\apps
Logcat
• adb logcat
在命令行中显示调试信息
删除和浏览AVD设备
• android delete avd -n myandroid1.5 • android list avds
查看内存占用
• procrank
• 系统中各进程的内存使用快照,这里有PSS, USS,VSS,RSS。我们一般观察Uss来反映一 个Process的内存使用情况,Uss 的大小代表了只 属于本进程正在使用的内存大小,这些内存在此 Process被杀掉之后,会被完整的回收掉。
procrank
查看内存占用的脚本
安装和卸载APK程序
• adb install <apk文件路径>
将指定的apk文件安装到设备上
• adb uninstall <软件名>
卸载设备上的指定程序
• adb uninstall -k <软件名>
卸载程序但是保留其配置和缓存文件
上传和下载文件
• 1. adb push <本地路径> <远程路径>
adb 其它常用命令
• android
• • • •


启动SDK管理器 adb bugreport 查看bug报告 adb get-serialno 获取设备的序列号 adb root 获得Root权限 adb remount 将system分区从只读变成可读可 写(需要ROOT权限) android list targets 显示系统内所有的android平 台 android list avd 显示系统中所有模拟器
dumpsys
• 显示系统数据信息 • 如: dumpsys wifi 显示wifi信息 dumpsys cpuinfo 显示cpu信息 dumpsys meminfo uncher2 显示ndroid create avd -n myandroid1.5 -t 2
Linux 环境: 新建文件memory 内容为: while true; do adb shell procreep 1 d内存占用的脚本
• Windows环境: • 新建memory.bat
其中myandroid1.5表示AVD设备的名称。名称可 以任意设置,但不能和其他AVD设备冲突。2指建 立Android 1.5的AVD设备,如是1则表示Android 1.1的AVD设备,以此类推。
创建SD卡
• mksdcard -l sdcard 10MB sd.img
• 其中sdcard表示SD卡的卷标,10M表示SD卡的 大小,单位还可以是KB。但要注意,SD卡的大 小不能小于8MB,否则无法创建SD卡文件。 sd.img是SD卡的文件名。
直接选定设备来执行命令
• 当有多个设备连接时,可以用下面的命令 来直接选择执行命令的设备
adb [-d|-e|-s <serial Number>] <command> d:真机(多个设备中只有一个真机时适用) e:模拟器(多个设备中只有一个模拟器时适用) s:序列号 adb -d install helloWorld.apk adb -s emulator-5556 install helloWorld.apk
相关文档
最新文档