zoukankan      html  css  js  c++  java
  • 【原创】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> "
    "
      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.
    作者:leemoaly
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    Linux搭建iscsi服务,客户端(Linux&Win XP)挂载使用
    SecucreCRT安装与破解
    最全的HCIA-R&S实验笔记
    AtCoder Grand Contest 036
    Comet OJ CCPC-Wannafly & Comet OJ 夏季欢乐赛(2019)
    2019慈溪集训小记
    Codeforces Round #573 (Div. 1)
    Comet OJ
    Codeforces Round #576 (Div. 1)
    Codechef August Challenge 2019 Division 2
  • 原文地址:https://www.cnblogs.com/kavs/p/4516887.html
Copyright © 2011-2022 走看看