×

adb常用命令

adb常用命令(adb.exe是什么进程 adb.exe命令详解)

admin admin 发表于2023-03-21 06:17:01 浏览36 评论0

抢沙发发表评论

本文目录

adb.exe是什么进程 adb.exe命令详解


ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机).
它的主要功能有:

* 运行设备的shell(命令行)
* 管理模拟器或设备的端口映射
* 计算机和设备之间上传/下载文件

* 将本地apk软件安装至模拟器或android设备

ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备..
先说安装方法, 电脑上需要安装客户端. 客户端包含在sdk里. 设备上不需要安装, 只需要在手机上打开选项settings-applications-development-USB debugging.

对于Mac和Linux用户, 下载好的sdk解压后, 可以放~或者任意目录. 然后修改~/.bash_profile文件, 设置运行环境指向sdk的tools目录.
具体是打开~/.bash_profile文件(如果没有此文件也可以自行添加), 在里面加入一行:
export PATH=${PATH}:《你的sdk目录》/tools

然后就可以使用adb命令了.

嫌安装麻烦的同学其实也可以省去上面安装步骤, 直接输入完整路径来使用命令。

对于windows xp用户, 需要先安装usb驱动 android_usb_windows.zip, 然后如果你只打算使用adb而不想下载整个sdk的话, 可以下载这个单独的adb工具包 adb_win.zip 下载后解压, 把里面 adb.exe 和 AdbWinApi.dll 两个文件放到系统盘的 windows/system32 文件夹里就可以了

现在说下ADB常用的几个命令
查看设备

* adb devices

这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示
安装软件

* adb install 《apk文件路径》

这个命令将指定的apk文件安装到设备上.

卸载软件

* adb uninstall 《软件名》
* adb uninstall -k 《软件名》

如果加 -k 参数,为卸载软件但是保留配置和缓存文件.
登录设备shell

* adb shell
* adb shell 《command命令》

这个命令将登录设备的shell.
后面加《command命令》将是直接运行设备命令, 相当于执行远程命令
从电脑上发送文件到设备

* adb push 《本地路径》 《远程路径》

用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机)
从设备上下载文件到电脑

* adb pull 《远程路径》 《本地路径》

用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑
显示帮助信息

* adb help

这个命令将显示帮助信息

这里还有一个英文版的:

在DOS下输入以下命令基本可以完成刷机任务,一些常用命令解释如下:

adb devices - 列出连接到电脑的ADB设备(也就是手机),一般显示出手机P/N码.如果没有显示出来则手机与电脑没有连接上.
adb install 《packagename.apk》 – 安装手机软件到手机中,如:adb install qq2009.apk.
adb remount – 重新打开手机写模式(刷机模式).
adb push 《localfile》 《location on your phone》 - 传送文件到手机中,如:adb push recovery.img /sdcard/recovery.img,将本地目录中的recovery.img文件传送手机的SD卡中并取同样的文件名.
adb pull 《location on your phone》 《localfile》 - 传送手机的文件到本地目录(和上命令相反).

adb shell 《command》 - 让手机执行命令,《command》就是手机执行的命令.如: adb shell flash_image recovery /sd-card/recovery-RAv1.0G.img,执行将recovery-RAv1.0G.img写入到recovery 区中.

我们刷recovery时一般按下顺序执行:

adb shell mount -a

adb push recovery-RAv1.0G.img /system/recovery.img

adb push recovery-RAv1.0G.img /sdcard/recovery-RAv1.0G.img

adb shell flash_image recovery /sdcard/recovery-RAv1.0G.img reboot

其它的自己灵活运用了.

ADB命令详解:
Android Debug Bridge version 1.0.20
-d - directs command to the only connected USB devicereturns an error if more than one USB device ispresent.
-e - directs command to the only running emulator.returns an error if more than one emulator is running.
-s 《serial number》 – directs command to the USB device or emulator withthe given serial number
-p 《product name or path》 – simple product name like ’sooner’, ora relative/absolute path to a productout directory like ‘out/target/product/sooner’.
If -p is not specified, the ANDROID_PRODUCT_OUTenvironment variable is used, which mustbe an absolute path.
devices – list all connected devices
device commands:
adb push 《local》 《remote》 – copy file/dir to device
adb pull 《remote》 《local》 – copy file/dir from device
adb sync [ 《directory》 ] – copy host-》device only if changed(see ‘adb help all’)
adb shell – run remote shell interactively
adb shell 《command》 – run remote shell command
adb emu 《command》 – run emulator console command
adb logcat [ 《filter-spec》 ] – View device log
adb forward 《local》 《remote》 – forward socket connections
forward specs are one of:

tcp:《port》
localabstract:《unix domain socket name》
localreserved:《unix domain socket name》
localfilesystem:《unix domain socket name》
dev:《character device name》
jdwp:《process pid》 (remote only)

adb jdwp – list PIDs of processes hosting a JDWP transport
adb install [-l] [-r] 《file》 – 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] 《package》 – remove this app package from the device
(‘-k’ means keep the data and cache directories)
adb bugreport – return all information from the devicethat should be included in a bug report.
adb help – show this help message
adb version – show version num

DATAOPTS:
(no option) – don’t touch the data partition
-w – wipe the data partition
-d – flash the data partition
scripting:
adb wait-for-device – block until device is online
adb start-server – ensure that there is a server running
adb kill-server – kill the server if it is running
adb get-state – prints: offline | bootloader | device
adb get-serialno – prints: 《serial-number》
adb status-window – continuously print device status for a specified device
adb remount – remounts the /system partition on the device re
ad-write
adb root – restarts adb with root permissions
networking:
adb ppp 《tty》 [parameters] – Run PPP over USB.
Note: you should not automatically start a PDP connection.
《tty》 refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
[parameters] – Eg. defaultroute debug dump local notty usepeerdns
adb sync notes: adb sync [ 《directory》 ]
《localdir》 can be interpreted in several ways:
- If 《directory》 is not specified, both /system and /data partitions will be updated.
- If it is “system” or “data”, only the corresponding partitionis updated


adb常用的几个命令


adb devices
adb shell reboot
adb shell reboot recovery
adb shell reboot fastboot
adb shell ls
adb shell cd等等……

面试的时候被问到,测试过程中常用的adb命令有哪些


作为测试人员,经常用到的adb命令:
adb logcat 产看手机的日志信息,在出现bug的时候可以通过这个命令帮助定位查看
adb shell 进入Android终端命令,然后可以通过一些命令来查看手机相关信息
adb push 向手机发送文件
adb pull 从手机获取文件
adb shell am start -W 包名/界面名 查看应用启动时间
adb install apk文件 通过adb命令行安装app
adb uninstall 包名 通过adb命令行卸载app
adb --help 查看adb 命令帮助信息
adb shell pm list package 查看所有包名
adb shell monkey –p 包名 –v 测试次数 指定应用进行monkey测试
详情教程有免费的公开课啊,黑马程序员官网就可以看,或者对话框可以领取到课程大纲。我就在黑马学出来的,现在税后11k,感谢黑马!

ADB是什么


ADB的全称为Android Debug Bridge,就是起到调试桥的作用。通过ADB我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。ADB的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下ADB会daemon相关的网络端口,所以当我们运行Eclipse时ADB进程就会自动运行。 ADB是android sdk里的一个工具,用这个工具可以直接操作管理android模拟器或者真实的andriod设备(如G1手机). 它的主要功能有: * 运行设备的shell(命令行) * 管理模拟器或设备的端口映射 * 计算机和设备之间上传/下载文件 * 将本地apk软件安装至模拟器或android设备 ADB是一个客户端-服务器端程序,其中客户端是你用来操作的电脑,服务器端是android设备。 ADB常用的几个命令 1. 查看设备nbsp; ADBdevices 这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示 2. 安装软件 ADBinstall 这个命令将指定的apk文件安装到设备上 3. 卸载软件 * ADBuninstall lt;软件名gt; * ADBuninstall -k lt;软件名gt; 如果加 -k 参数,为卸载软件但是保留配置和缓存文件. 4. 登录设备shell * ADBshell * ADBshell 这个命令将登录设备的shell. 后面加将是直接运行设备命令, 相当于执行远程命令 5. 从电脑上发送文件到设备 * ADBpush lt;本地路径gt; lt;远程路径gt; 用push命令可以把本机电脑上的文件或者文件夹复制到设备(手机) 6. 从设备上下载文件到电脑 * ADBpull lt;远程路径gt; lt;本地路径gt; 用pull命令可以把设备(手机)上的文件或者文件夹复制到本机电脑 7. 显示帮助信息 * ADBhelp 这个命令将显示帮助信息 查看原帖》》

如何使用ADB进行调试


adb(Android Debug Bridge)是Android SDK中一个通用的调试工具。我们可以通过这个工具管理设备或手机模拟器的状态。adb其实是一个客户端-服务器端程序, 其中客户端是你用来操作的电脑,服务器端是android设备。
adb可以进行的操作包括:
1、快速更新设备或手机模拟器中的代码,如应用或Android系统升级;
2、在设备上运行shell命令;
3、管理设备或手机模拟器上的预定端口;
4、在设备或手机模拟器上复制或粘贴文件。
adb的安装
电脑上需要安装客户端,设备上不需要安装,客户端包含在sdk里,只需要在手机上打开选项settings--applications--development--USBdebugging。
对于Mac和Linux用户,下载好的sdk解压后,可以放~或者任意目录。然后修改~/.bash_profile文件,设置运行环境指向sdk的tools目录。
具体是打开~/.bash_profile文件(如果没有此文件也可以自行添加),在里面加入一行:
export PATH=${PATH}:《你的sdk目录》/tools
然后就可以使用adb命令了。
嫌安装麻烦的同学其实也可以省去上面安装步骤,直接输入完整路径来使用命令。
对于windows xp用户,需要先安装usb驱动,然后如果你只打算使用adb而不想下载整个sdk的话,可以下载这个单独的adb工具包,下载后解压,把里面的adb.exe 和 AdbWinApi.dll 两个文件放到系统盘的windows/system32 文件夹里就可以了。
adb的常用命令
1、安装应用到模拟器:
adb install 《path_to_apk》《/path_to_apk》
比较郁闷的是,Android并没有提供一个卸载应用的命令,只能自己手动删除:
adb shell
cd /data/app
rm app.apk
2、进入设备或模拟器的shell:
adb shell
通过上面的命令,就可以进入设备或模拟器的shell环境中,在这个Linux Shell中,你可以执行各种Linux的命令,另外如果只想执行一条shell命令,可以采用以下的方式:
adb shell [command]
如:adb shell dmesg会打印出内核的调试信息。
3、发布端口:
你可以设置任意的端口号,做为主机向模拟器或设备的请求端口。如:
adb forward tcp:5555 tcp:8000
4、复制文件:
你可向一个设备或从一个设备中复制文件,复制一个文件或目录到设备或模拟器上:
adb push 《source》 《destination》《/destination》《/source》
如:adb push test.txt /tmp/test.txt
从设备或模拟器上复制一个文件或目录:
adb pull 《source》 《destination》《/destination》《/source》
如:adb pull /addroid/lib/libwebcore.so .
5、搜索模拟器/设备的实例:
取得当前运行的模拟器/设备的实例的列表及每个实例的状态:
adb devices
6、查看bug报告:
adb bugreport
7、记录无线通讯日志:
一般来说,无线通讯的日志非常多,在运行时没必要去记录,但我们还是可以通过命令,设置记录:
adb shell
logcat -b radio
8、获取设备的ID和序列号:
adb get-product
adb get-serialno
9、访问数据库SQLite3
adb shell
sqlite3

linux下关于adb命令的一些知识


Android Debug Bridge,一般简称为adb,主要存放在sdk安装目录下的platform-tools文件夹中,它是一个非常强大的命令行工具,通过这个工具你能够与你的android设备进行交互。同时这是一个包含了以下三部分的cs模式的程序:
1) adb client
  从图中,我们知道client是运行在PC端的,每当我们发起一个adb命令的时候,就会开启一个client程序。当然,当我们开启DDMS或者ADT的时候,也会自动创建client。
  当我们开启一个client的时候,它首先会去检测后台是否已经有一个server程序在运行着,否则会开启一个adb-server进程。
  所有的client都是通过5037端口与adb-server进行通信的。
2)adb daemon(adbd)
  从图中,我们知道daemon是作为一个后台进程运行在模拟器/真实Android设备中的。
  daemon使用端口的范围是5554-5585,每个模拟器/设备连接到PC端时,总会开启这么一个后台进程,并且为其分配了两个连续的端口,比如:
    Emulator 1, console: 5554
    Emulator 1, adb: 5555
  也正因为每个设备都分一组两个端口,也已adb连接手机的最大数量为16。
  说回端口的作用,在这两个端口中,其中偶数端口是用于server 与设备进行交互的,可以让server直接从设备中读取数据,而奇数端口是用来与设备的adbd进行连接通信的。
2) adb server
  从图中,我们同样可以知道,server也是作为一个后台的程序运行在PC端的,他负责管理client进程以及adb daemon之间的通信。
  当一个server开启的时候,他会自动绑定并且监听5037端口,接收client通过该端口发送过来的命令。同时server还会对5555-5585间的奇数端口进行扫描,进行对已连接设备的定位。
1.2 常用的adb命令
首先我们先来介绍一下,adb命令的使用格式吧:
adb [-d|-e|-s ]
adb是必须的,接下来方括号里面的内容不是必须的,最后才是我们需要执行的命令操作,例如 adb -s emulator-5554 install UCBrowser.apk (这是安装UC浏览器的意思)
下面先介绍下,前面几个参数的含义吧:
  -d: 让唯一连接到该PC端的真实安卓设备执行命令,如果发现USB中连接有多部设备,将会报错
  -e: 让唯一连接到该PC端的模拟器执行命令,如果发现开启了多个模拟器,将会报错
  -s:通过设备的序列号进行指定设备执行命令
如果设备只连接有一个设备或者一个模拟器的时候,可以不用声明这三个参数,adb默认会让这部唯一连接到的设备进行命令执行。
ok,下面开始讲解常用的命令吧:
1) 查看当前PC端连接有多少设备:
adb devices
终端中的执行结果为:
从上图中,我们看到了设备有的两种状态,其实执行该命令,可能返回的状态有三种:
  I. device 设备已经成功连接到了adb-server
  II. offline 设备并没有连接到adb或者没有响应
  III. no device 并没有设备/模拟器连接
2) 查看adb的版本
adb version
终端中的执行结果为:
3) 给设备进行软件的安装
adb -s install
eg:
adb -s 99eb07a9 install D://Test.apk
终端中的执行结果为:
除了上面这种方法,我们还有另外一个命令:
adb -s shell pm install [options]
其中[options]中最常用的选项是-r,代表着本次安装是重新安装,会保留用户数据。
4) 卸载设备中已经安装的软件
adb -s uninstall
eg:
adb -s 99eb07a9 uninstall cn.uc.test
终端中的执行结果为:
除了上面这种方法,我们还有另外一个命令:
adb -s uninstall [options]
这里的options是-k,加上该参数表明卸载软件后依旧保留用户数据
5) 将数据从设备复制到PC中
adb -s pull
eg:
adb -s 99eb07a9 pull /sdcard/stericson-ls D://
终端的执行结果:
在D://盘中我们也可以发现stericson-ls文件
6) 讲数据从PC端复制到设备中
adb -s push
eg:
adb -s 99eb07a9 push d://stericson-ls /sdcard/
终端的执行结果:

7) 获取连接到的手机的序列号
adb get-serialno
终端的执行结果:

8)获取设备的连接状态
adb -s get-state
eg:
adb -s 99eb07a9 get-stat
终端的执行结果:
9) 等待设备连接成功
adb wait-for-device
该命令将会阻塞一直到默认连接的那部机器状态变为device,也就是连接成功。
10) adb-server 的开启与关闭
adb kill-server
adb start-server
终端的执行结果:
有时候我们开启server会失败,这是因为我们装了的手机助手,豌豆荚或者其他软件自带有自己的adb,导致端口冲突开启失败。主要关掉那些软件并且杀掉那些软件自带的adb进程重来即可。
1.2 手机执行Shell命令
众所周知,Android的内核本身就是Linux,所以Android本身也支持Linux命令,但是因为是手机系统,所以进行了一定的删减,部分命令不支持,而不支持的部分,我们可以通过安装busybox这个软件进行
填补。
下面我们讲解下如何在手机中执行Shell命令:
1) 每次都加上adb shell来进行命令的发送与执行
adb shell
2) 先通过adb shell进入手机Shell执行状态,然后直接输入Linux命令,如图:
  
1.3 Activity Manager 常用命令与参数说明
一般情况下,我们最常用它来进行app的开启,并且传递一定的参数过去,比如:
adb shell am start -a android.intent.action.VIEW -n cn.uc.test/.MainActivity -d
在这里就不做太过详细和重复的说明了
1.4 Package Manager 常用命令与参数说明
1) 使一个apk处于禁用状态,相当于卸载了:
disable
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobile
eg:
adb shell su disable com.UCMobile/.main.UCMobile
终端执行结果:
同时我们在手机上发现,UC浏览器的图标不见了
2) 让一个apk从禁用状态恢复过来
enable
其中 PACKAGE_OR_COMPONENT的格式是 package/class, 如 com.UCMobile/.main.UCMobile
eg:
adb shell su enable com.UCMobile/.main.UCMobile
终端执行结果:
同时我们从手机上发现,UC浏览器的图标又回来啦。
3) 查看一个apk所在的路径
pm path
eg:
adb shell pm path com.UCMobile
终端执行结果:
4) 查看手机中装的所有的包
pm list packages
再次不做过多的说明
1.5其他常用的adb命令
1) 屏幕录像
例如,屏幕开始录像并且储存到/sdcard中,同时名字为demo.mp4
adb shell screenrecord /sdcard/demo.mp4
2) 关闭设备请求,开启设备
adb shell stop
adb shell start
3)设备关机以及重启
adb reboot
adb shutdown