adb 命令,开发人员都会或多或少的知道和使用了一些,但是真正对所有的adb命令有一个详细的了解,还是要参考adb 命令说明:
android@tesdt-Precision-T1700:~$ adb --help
Android Debug Bridge version 1.0.31
-d - directs command to the only connected USB device
returns an error if more than one USB device is present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is running.
-s <specific device> - directs command to the device or emulator with the given
serial number or qualifier. Overrides ANDROID_SERIAL
environment variable.
-p <product name or path> - simple product name like 'sooner', or
a relative/absolute path to a product
out directory like 'out/target/product/sooner'.
If -p is not specified, the ANDROID_PRODUCT_OUT
environment variable is used, which must
be an absolute path.
devices [-l] - list all connected devices
('-l' will also list device qualifiers)
connect <host>[:<port>] - connect to a device via TCP/IP
Port 5555 is used by default if no port number is specified.
disconnect [<host>[:<port>]] - disconnect from a TCP/IP device.
Port 5555 is used by default if no port number is specified.
Using this command with no additional arguments
will disconnect from all connected TCP/IP 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
(-l means list but don't copy)
(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] [-s] [--algo <algorithm name> --key <hex-encoded key> --iv <hex-encoded iv>] <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)
('-s' means install on SD card instead of internal storage)
('--algo', '--key', and '--iv' mean the file is encrypted already)
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 device
that should be included in a bug report.
adb backup [-f <file>] [-apk|-noapk] [-shared|-noshared] [-all] [-system|-nosystem] [<packages...>]
- write an archive of the device's data to <file>.
If no -f option is supplied then the data is written
to "backup.ab" in the current directory.
(-apk|-noapk enable/disable backup of the .apks themselves
in the archive; the default is noapk.)
(-shared|-noshared enable/disable backup of the device's
shared storage / SD card contents; the default is noshared.)
(-all means to back up all installed applications)
(-system|-nosystem toggles whether -all automatically includes
system applications; the default is to include system apps)
(<packages...> is the list of applications to be backed up. If
the -all or -shared flags are passed, then the package
list is optional. Applications explicitly given on the
command line will be included even if -nosystem would
ordinarily cause them to be omitted.)
adb restore <file> - restore device contents from the <file> backup archive
adb help - show this help message
adb version - show version num
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 get-devpath - prints: <device-path>
adb status-window - continuously print device status for a specified device
adb remount - remounts the /system partition on the device read-write
adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program
adb reboot-bootloader - reboots the device into the bootloader
adb root - restarts the adbd daemon with root permissions
adb usb - restarts the adbd daemon listening on USB
adb tcpip <port> - restarts the adbd daemon listening on TCP on the specified port
networking:
adb ppp <tty> [parameters] - Run PPP over USB.
Note: you should not automatically start a PPP 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 partition
is updated.
environmental variables:
ADB_TRACE - Print debug information. A comma separated list of the following values
1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp
ANDROID_SERIAL - The serial number to connect to. -s takes priority over this if given.
ANDROID_LOG_TAGS - When used with the logcat option, only these debug tags are printed.
对于开发者来说,把所有的命令都掌握是不现实,也没有必要。但是我们把常用的开发命令掌握了,就可以应对绝大多数的开发要求了。
list all connected devices 显示所有的连接设备
android@tesdt-Precision-T1700:~$ adb devices
List of devices attached
7841c448 device
android@tesdt-Precision-T1700:~$ adb devices -l
List of devices attached
7841c448 device usb:1-1.6 product:p7701 model:p7701 device:p7701
show version num 显示adb 版本号
android@tesdt-Precision-T1700:~$ adb version
Android Debug Bridge version 1.0.31
adb push <local> <remote>
copy file/dir to device 把本地文件push到手机中
android@tesdt-Precision-T1700:~$ adb push log.txt /sdcard/
4557 KB/s (823111 bytes in 0.176s)
android@tesdt-Precision-T1700:~$
adb pull <remote> [<local>]
copy file/dir from device 把手机中的文件pull到本地
android@tesdt-Precision-T1700:~$ adb pull /sdcard/log.txt ./
3983 KB/s (823111 bytes in 0.201s)
run remote shell interactively 进入shell模式
android@tesdt-Precision-T1700:~$ adb shell
shell@p7701:/ $
run remote shell command 执行shell命令
adb shell <command>
android@tesdt-Precision-T1700:~$ adb shell ls
acct
cache
charger
config
d
View device log——查看log
adb logcat [ <filter-spec> ]
adb logcat -v time -b main -b system -b radio -b events > log.txt
adb install [-l] [-r] [-s] [--algo <algorithm name> --key <hex-encoded key> --iv <hex-encoded iv>] <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)
('-s' means install on SD card instead of internal storage)
('--algo', '--key', and '--iv' mean the file is encrypted already)
安装apk
adb install test.apk
adb uninstall [-k] <package> - remove this app package from the device
('-k' means keep the data and cache directories)
删除apk
adb uninstall com.android.cts.verifier
手机开发时,我们先删除对应的apk文件,再删除apk,再安装apk
adb shell
cd data/app
rm apk包
exit
adb uninstall apk包的主包名
adb install -r apk包
block until device is online—-等待设备连接
ensure that there is a server running—启动server
kill the server if it is running—杀死server
remounts the /system partition on the device read-write
进入remount模式
[bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program
启动设备
reboots the device into the bootloader
启动设备,进入bootloader模式
restarts the adbd daemon with root permissions
进入root模式
-d - directs command to the only connected USB device
returns an error if more than one USB device is present.
-e - directs command to the only running emulator.
returns an error if more than one emulator is running.
-s <specific device> - directs command to the device or emulator with the given
serial number or qualifier. Overrides ANDROID_SERIAL
environment variable.
adb -s 7841c448 install test.apk