【原创】Android开发之ADB及ADB SHELl命令的应用

adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,说白了就是debug工具。adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行Eclipse时adb进程就会自动运行。

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

* 运行设备的shell(命令行)

* 管理模拟器或设备的端口映射

* 计算机和设备之间上传/下载文件

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

ADB是一个 客户端-服务器端 程序, 其中客户端是你用来操作的电脑, 服务器端是android设备.

查看帮助:adb help

一、ADB命令

1、显示当前运行的全部模拟器

adb devices

2、对某一模拟器执行命令

adb –s 模拟器编号 命令

3、安装应用程序:

adb install –r 路径+应用名称(记得加上后缀)

image

4、卸载应用(暂时没成功)

adb uninstall

5、从电脑发送文件至设备

adb push <本地路径> <设备路径>

image

(在adb shell中通过pwd查看路径)

6、从手机至电脑

adb pull <设备路径> <本地路径>

image

 

7、获取管理员权限

adb root

 

8、获取设备的ID和序列号

adb get-product   //个人表示使用没效果

adb get-serialno

9、无线调试

首先用数据线连接手机和电脑 执行以下命令

adb tcpip 5555

image

接下来断开数据线

查看手机ip地址

执行命令:adb connect 192.168.1.105:5555

image

即可远程调试设备

如果需要恢复到USB数据线,可以在命令行输入adb usb

我们也可以现在款adbwireless软件进行远程调试

10、重启、关机、进入recovery模式

重启 adb reboot

关机

 

进入recovery模式   adb reboot recovery

image

11、屏幕录像

开始录像 adb shell screenrecord /sdcard/demo.mp4

结束录像 ctrl+c

image

12、屏幕截图

截图 adb shell screencap -p /sdcard/1.png

复制到本地电脑   adb shell pull /sdcard/1.png  本地路径

二、ADB SHELL常用命令

输入adb shell命令后即可使用Linux系统下的一些命令像ls、cd、cat、mkdir等等

1、ls命令

2、列出安装程序列表

pm list packages

image

3、查看一个apk所在的路径

pm path 包名

image

4、

三、ADB HELP

   1: Android Debug Bridge version 1.0.31
   2:  
   3:  -a                            - directs adb to listen on all interfaces for a connection
   4:  -d                            - directs command to the only connected USB device returns an error if more than one USB device is present.
   5:  -e                            - directs command to the only running emulator.returns an error if more than one emulator is running.
   6:  -s <specific device>          - directs command to the device or emulator with the given serial number or qualifier. Overrides ANDROID_SERIAL environment variable.
   7:  -p <product name or path>     - simple product name like 'sooner', or a relative/absolute path to a product
   8:                                  out directory like 'out/target/product/sooner'.
   9:                                  If -p is not specified, the ANDROID_PRODUCT_OUT
  10:                                  environment variable is used, which must
  11:                                  be an absolute path.
  12:  -H                            - Name of adb server host (default: localhost)
  13:  -P                            - Port of adb server (default: 5037)
  14:  devices [-l]                  - list all connected devices
  15:                                  ('-l' will also list device qualifiers)
  16:  connect <host>[:<port>]       - connect to a device via TCP/IP
  17:                                  Port 5555 is used by default if no port number is specified.
  18:  disconnect [<host>[:<port>]]  - disconnect from a TCP/IP device.
  19:                                  Port 5555 is used by default if no port number is specified.
  20:                                  Using this command with no additional arguments
  21:  
  22:                                  will disconnect from all connected TCP/IP devices.
  23:  
  24: device commands:
  25:   adb push <local> <remote>    - copy file/dir to device
  26:   adb pull <remote> [<local>]  - copy file/dir from device
  27:   adb sync [ <directory> ]     - copy host->device only if changed
  28:                                  (-l means list but don't copy)
  29:                                  (see 'adb help all')
  30:   adb shell                    - run remote shell interactively
  31:   adb shell <command>          - run remote shell command
  32:   adb emu <command>            - run emulator console command
  33:   adb logcat [ <filter-spec> ] - View device log
  34:   adb forward --list           - list all forward socket connections.
  35:                                  the format is a list of lines with the following format:
  36:                                     <serial> " " <local> " " <remote> "\n"
  37:   adb forward <local> <remote> - forward socket connections
  38:                                  forward specs are one of:
  39:                                    tcp:<port>
  40:                                    localabstract:<unix domain socket name>
  41:                                    localreserved:<unix domain socket name>
  42:                                    localfilesystem:<unix domain socket name>
  43:                                    dev:<character device name>
  44:                                    jdwp:<process pid> (remote only)
  45:   adb forward --no-rebind <local> <remote>
  46:                                - same as 'adb forward <local> <remote>' but fails
  47:                                  if <local> is already forwarded
  48:   adb forward --remove <local> - remove a specific forward socket connection
  49:   adb forward --remove-all     - remove all forward socket connections
  50:   adb jdwp                     - list PIDs of processes hosting a JDWP transport
  51:  
  52:   adb install [-l] [-r] [-s] [--algo <algorithm name> --key <hex-encoded key> --iv <hex-encoded iv>] <file>
  53:                                - push this package file to the device and install it
  54:                                  ('-l' means forward-lock the app)
  55:                                  ('-r' means reinstall the app, keeping its data)
  56:                                  ('-s' means install on SD card instead of internal storage)
  57:                                  ('--algo', '--key', and '--iv' mean the file is encrypted already)
  58:   adb uninstall [-k] <package> - remove this app package from the device
  59:                                  ('-k' means keep the data and cache directories)
  60:   adb bugreport                - return all information from the device
  61:                                  that should be included in a bug report.
  62:  
  63:   adb backup [-f <file>] [-apk|-noapk] [-obb|-noobb] [-shared|-noshared] [-all]
  64: [-system|-nosystem] [<packages...>]
  65:                                - write an archive of the device's data to <file>
  66: .
  67:                                  If no -f option is supplied then the data is written
  68:                                  to "backup.ab" in the current directory.
  69:                                  (-apk|-noapk enable/disable backup of the .apks themselves
  70:                                     in the archive; the default is noapk.)
  71:                                  (-obb|-noobb enable/disable backup of any installed apk expansion
  72:                                     (aka .obb) files associated with each application; the default
  73:                                     is noobb.)
  74:                                  (-shared|-noshared enable/disable backup of the device's
  75:                                     shared storage / SD card contents; the default is noshared.)
  76:                                  (-all means to back up all installed applications)
  77:                                  (-system|-nosystem toggles whether -all automatically includes
  78:                                     system applications; the default is to include system apps)
  79:                                  (<packages...> is the list of applications to be backed up.  If
  80:                                     the -all or -shared flags are passed, then the package
  81:                                     list is optional.  Applications explicitly given on the
  82:                                     command line will be included even if -nosystem would
  83:                                     ordinarily cause them to be omitted.)
  84:  
  85:   adb restore <file>           - restore device contents from the <file> backup archive
  86:  
  87:   adb help                     - show this help message
  88:   adb version                  - show version num
  89:  
  90: scripting:
  91:   adb wait-for-device          - block until device is online
  92:   adb start-server             - ensure that there is a server running
  93:   adb kill-server              - kill the server if it is running
  94:   adb get-state                - prints: offline | bootloader | device
  95:   adb get-serialno             - prints: <serial-number>
  96:   adb get-devpath              - prints: <device-path>
  97:   adb status-window            - continuously print device status for a specified device
  98:   adb remount                  - remounts the /system partition on the device read-write
  99:   adb reboot [bootloader|recovery] - reboots the device, optionally into the bootloader or recovery program
 100:   adb reboot-bootloader        - reboots the device into the bootloader
 101:   adb root                     - restarts the adbd daemon with root permissions
 102:   adb usb                      - restarts the adbd daemon listening on USB
 103:   adb tcpip <port>             - restarts the adbd daemon listening on TCP on the specified port networking:
 104:   adb ppp <tty> [parameters]   - Run PPP over USB.
 105:  Note: you should not automatically start a PPP connection.
 106:  <tty> refers to the tty for PPP stream. Eg. dev:/dev/omap_csmi_tty1
 107:  [parameters] - Eg. defaultroute debug dump local notty usepeerdns
 108:  
 109: adb sync notes: adb sync [ <directory> ]
 110:   <localdir> can be interpreted in several ways:
 111:  
 112:   - If <directory> is not specified, both /system and /data partitions will be updated.
 113:  
 114:   - If it is "system" or "data", only the corresponding partition
 115:     is updated.
 116:  
 117: environmental variables:
 118:   ADB_TRACE                    - Print debug information. A comma separated list of the following values
 119:                                  1 or all, adb, sockets, packets, rwx, usb, sync, sysdeps, transport, jdwp
 120:   ANDROID_SERIAL               - The serial number to connect to. -s takes priority over this if given.
 121:   ANDROID_LOG_TAGS             - When used with the logcat option, only these debug tags are printed.
posted @ 2015-05-20 12:53  leemoaly  阅读(1913)  评论(0编辑  收藏  举报
进击的陈二狗