精华内容
下载资源
问答
  • adb常用命令总结

    2016-07-20 08:59:42
    实际开发总常用adb来调试真机,这是一些常规的命令,欢迎完善
  • android测试adb常用命令

    2019-02-26 13:12:08
    本文档用于Android开发人员和测试人员熟悉android平台下的adb的各种操作,将工作中常用adb命令进行了一一举例,提高工作效率。
  • ADB全称Android Debug Bridge, 是android sdk里的一个工具, 用这个工具可以直接操作管理android模拟器或者真实的andriod设备(手机)。 它的主要功能有: 运行设备的shell(命令行) 管理模拟器或设备的端口映射 计算机...
  • adb常用命令

    千次阅读 多人点赞 2019-04-07 22:32:50
    adb常用命令adb常用命令 adb常用命令 adb -help 查看帮助手册 adb devices 检测连接到电脑的安卓设备 打开夜神模拟器,之后记得在命令行窗口输入adb connect 127.0.0.1:62001,回车,可以发现已成功连接上设备 ...

    作为软件测试,你需要掌握的不只是linux命令,你还需要学一学adb的命令,通过终端/cmd来测试App。

    adb常用命令(1)

    1. adb -help :查看帮助手册

    adb shell描述

    2. adb devices :检测连接到电脑的安卓设备

    adb devices
    打开夜神模拟器,之后记得在命令行窗口输入adb connect 127.0.0.1:62001,回车,可以发现已成功连接上设备(夜神模拟器)
    adb connect 127.0.0.1:62001
    adb devices

    3. adb pull<手机路径><本机路径>:从手机拉取信息放到本地电脑

    本机路径容易获取,但是手机路径如何获取呢?可以使用adb shell命令来获取
    获取手机路径
    之后可以使用ls命令,来列出当前根目录下的文件和目录信息。sdcard手机的内部存储,因此我们主要查看sdcard目录即可。
    在这里插入图片描述
    那么如何查看sdcard目录下的文件信息呢?
    可以通过cd sdcard命令来切换到sdcard目录

    在这里插入图片描述
    不过由于我还未在手机收进行任何操作,因此我的sdcard目录下没有任何文件信息,如果有文件,是会在窗口中显示出来的

    4. adb push<本机路径><手机路径>:从本地推送信息到手机上

    比如想把电脑上的微信推送到手机上,可以输入adb push 本机路径可以直接拖拽想要推送的文件或其他软件(这里是微信)到CMD窗口,后面加上手机路径,比如把它放在sdcard目录中

    sdcard 后面的斜杠不能少,否则会出现下面的错误:
    在这里插入图片描述
    However!会发现报错:failed to copy ‘C:\Users\Public\Desktop\微信.lnk’ to ‘/sdcard’: Is a directory

    这是因为,我们推送的放在了文件里!而不是目录。“/sdcard”代表一个文件而不是一个目录应该在sdcard后加"/"–>"/sdcard/"
    在这里插入图片描述
    在这里插入图片描述

    5. adb logcat–打印日志

    在这里插入图片描述
    可以通过重定向来将日志保存到指定的文件中
    比如将其保存到G盘的一个文件adb logcat > G:\log\logcat.txt
    但是在这之前要先将日志文件终止
    通过Ctrl+c组合键来终止日志的获取
    在这里插入图片描述
    在这里插入图片描述

    上面演示的是通过模拟器来演示通过adb对android app 的测试,那如果是真机呢?
    真实android手机连接adb:

    1. 通过usb线直接连接到电脑;
    2. 下载安装Android手机驱动(可以下载驱动精灵、手机助手等软件)
    3. 在手机找到设置–>开发者模式–>usb调试
    4. 在弹出的对话框中选择“允许”

    adb常用命令(2)

    • adb install xxx.apk ----为了获取apk的安装包所在地址,可以直接把apk拖到cmd窗口获取,返回succes就代表成功了。
    • adb install -r xxx.apk —保留数据和缓存文件,重新安装apk。
    • adb uninstall (应用的包名) —卸载应用
    • adb uninstall -k (应用的包名) —卸载应用但保留数据和缓冲
    • adb shell dumpsys activity | find “mFocusedActivity” —查看前台应用activity名
    • adb connect/disconnect 通过wifi进行远程连接手机进行调试
      例如:卸载软件
      在这里插入图片描述
      应用的包名可以通过**adb shell dumpsys activity | find “mFocusedActivity”**命令来获取,具体操作可以参考我的另一篇博客使用monkey进行Android APP压力稳定测试入门

    真实的android手机WiFi远程调试

    1. 通过usb线将手机连接到电脑;
    2. adb devices 能够检测到对应的设备
    3. adb tcpip 5555 确定手机和电脑端的wifi通讯端口
    4. 拔掉usb线,再通过adb connect 自己手机IP地址

    如:adb connect (手机的IP地址)l连接成功后即可通过adb shell 来操作手机对app进行测试
    前提条件,手机和电脑要处于同一个内网,即要连接同一个WiFi

    adb shell 命令

    adb 命令和 adb shell 命令的区分
    adb 命令是 adb 这个程序自带的一些命令,而 adb shell 则是调用的 Android 系统中的命令,这些 Android 特有的命令都放在了 Android 设备的 system/bin 目录下。

    adb shell—登录设备shell(命令行的人机界面)

    • 查看wifi密码: adb shell cat /data/misc/wifi/*.conf

    • 列出安装在设备上的应用的包名:adb shell pm list package
      (不带任何选项:列出所有的应用的包名)

    在这里插入图片描述

    • -s:列出系统应用:
      adb shell pm list package -s
      在这里插入图片描述

    • -3:列出第三方应用
      adb shell pm list package -3
      在这里插入图片描述

    • -f:列出应用包名及对应的apk名及存放位置
      adb shell pm list package -f
      结果显示:package:/system/app/SoundRecorder.apk=com.android.soundrecorder

    • -i:列出应用包名及其安装来源:
      adb shell pm list package -i
      结果显示例子:
      package:com.android.soundrecorder installer=null
      命令最后增加 FILTER:过滤关键字,可以很方便地查找自己想要的应用

    • 参数组合使用,例如查找第三方应用tencent的包名、存放位置及安装来源:
      adb shell pm list package -f -3 -i tencent

    在这里插入图片描述

    • pm path 列出对应包名的 .apk 位置
      adb shell pm path com.tencent.mm

    在这里插入图片描述

    • pm list instrumentation , 列出含有单元测试 case 的应用,后面可跟参数 -f (与 pm list package 中一样),以及 [TARGET-PACKAGE]

    • pm dump , 后跟包名,列出指定应用的 dump 信息,可查看应用的各种信息
      (建议最好重定向到指定文件,不要在cmd窗口查看信息,因为文件可能会很长)
      adb shell pm dump com.tianwen,jjrp > G:\log\tainwenDetail.txt

    • pm install , 安装应用
      目标 apk 若是存放在 PC 端,用 adb install 安装
      目标 apk 若是存放于 Android 设备上,用 pm install 安装
      如:
      pm uninstall , 卸载应用,同 adb uninstall , 后面跟的参数都是应用的包名
      pm clear , 清除应用数据
      pm set-install-location , pm get-install-location , 设置应用安装位置,获取应用安装位置

    am命令

    • am start :启动一个 Activity,这里以启动我们设备的“设置”应用为例
      adb shell am start -n com.android.settings/.Settings
      cmd输出
      Starting: Intent { cmp=com.android.settings/.Settings }
    • 若不清楚“设置”的包名,可以通过命令
      adb shell dumpsys activity | find “mFocusedActivity”

    先找出当前开启的设备,然后复制路径即可(不过这样一来,可能有人会说,那还要这命令有何用?自己手动打开不就好了吗,打开了还要手动关闭,再在命令行打开……我也只能说,装逼用~哈哈哈)

    在这里插入图片描述

    • input text : 发送文本内容,但是改命令无法发送中文
      adb shell input text [文本内容(英文)]
      如图

    在这里插入图片描述

    • input tap :对屏幕发送一个触摸事件
      点击屏幕上坐标为 200 200 的位置
      adb shell input tap 200 200
    • input keyevent ,:发送按键事件
      adb shell input keyevent

    先介绍到这里啦~还有关于monkey命令的,可查看使用monkey进行Android APP进行压力稳定测试-入门

    还没安装的adb工具的可以在这下载安装adb工具下载安装

    展开全文
  • ADB 常用命令

    2018-08-09 18:33:39
    adb 常用命令adb connect ,wifi adb ,android 常用,安装app查看进程等
  • adb常用命令.pdf

    2020-02-14 11:42:23
    adb常用命令
  • sdk-adb常用命令.txt

    2019-11-13 10:22:31
    app测试sdk-adb操纵常用命令 但愿能帮助到你! 开心每一天!
  • 2、获取所有模拟器 adb devices 3、获取模拟器所有属性状态值 adb shell getprop ...此命令能够得出很多属性值,修改不同的属性值会达到意想不到的效果哦 4、获取模拟器某属性状态值 adb shell getprop 属性名
  • 1.ADB定义 ...可以说,ADB对我们Android的开发至关重要,深入的了解常用命令和作用就显得至关重要了 ADB使一种客户端-服务器程序,包括以下三个组件: 客户端:用于发送命令,客户端在开发计算机上运行...

    1.ADB定义
    ADB全称Android Debug Bridge。
    ADB是一种功能多样的命令行工具,起到了调试桥的作用,可以用来操作Android设备。
    ADB是Android开发/测试人员强大的工具。

    可以说,ADB对我们Android的开发至关重要,深入的了解常用的命令和作用就显得至关重要了

    ADB使一种客户端-服务器程序,包括以下三个组件:

    客户端:用于发送命令,客户端在开发计算机上运行,通过发出adb命令从命令行终端调用客户端。
    守护进程:在设备上运行命令,守护进程在每个设备上作为后台进程运行。
    服务器:管理客户端和守护进程之间的通信,服务器在开发计算机上作为后台进程运行。
    adb包含在Android SDK平台工具软件包当中,如何配置环境变量网上有太多的教程,我们就不赘述了。

    ADB常用命令
    环境变量配置完之后,我们输入adb,就会出现以下的一下命令提示。
    在这里插入图片描述
    除了这个截图,后面还有很多的命令,接下来对我们常用的命令行进行一下详细的介绍。
    看目录我们可以知道,ADB分为全局命令、常规命令、网络命令、文件传输命令、
    应用安装命令、备份和恢复命令、调试命令、安全命令、脚本命令、内部调试命令、Shell命令。这几种命令,对于每一种命令,官网上都有详细的解释
    https://developer.android.google.cn/studio/command-line/adb#issuingcommands

    接下来,对于常用的一些命令,我着重的介绍一下。

    ADB全局选项
    全局选项 说明
    -a 在所有网络接口上监听,而非只在localhost上监听。
    -d 将adb命令发送到唯一连接的USB设备。如果连接了多个USB设备,则返回错误。
    -e 将adb命令发送到唯一运行的模拟器。如果有多个模拟器在运行,则返回错误。
    -s serial_number 将adb命令发送到以其adb分配的序列号命名的特定设备(例如“emulator-5556”)。替换存储在 $ANDROID_SERIAL 环境变量中的序列号值。
    -H server adb服务器主机的名称。默认值为localhost。
    -P port adb服务端口号。默认值为5037。
    -L socket 在提供的adb socket服务器的监听。默认值为tcp:localhost:5037。
    启动/停止 服务
    启动adb service命令:
    adb start-server
    但是,一般情况下,我们无需手动调用这个命令,在运行的adb命令时候发现adb service没用启动的时候才会调用。

    停止 adb service命令:
    adb kill-server

    常规命令
    常规命令 说明
    devices [-l] 输出所有的设备列表。-l 选项用于包含设备的描述
    help 输出支持的adb命令及其描述的列表
    version 输出adb版本号
    查看应用列表
    查看应用列表的的命令是
    adb shell pm list packages
    具体的内容包括

    参数 显示列表
    无 所有应用
    -f 显示应用关联的apk文件
    -d 只显示disabled的应用
    -e 只显示enable的应用
    -s 只显示系统应
    -3 只显示第三方应用
    -i 显示应用的installer
    -u 包含已卸载应用

    • 包名包含字符串
      安装APK
      adb install
      常见参数及含义

    参数 含义
    -r 允许覆盖安装
    -s 将应用安装到sdcard
    -d 允许降级覆盖安装
    卸载应用
    adb unstall [-k]
    其中 表示应用的包名,-k参数可选,表示卸载应用但是保留数据和缓存目录。

    清除应用数据与缓存
    adb shell pm clear
    表示应用包名

    查看日志
    [adb] logcat [] … [] …常用用法列举如下:

    1. 按级别过滤日志
      Android 的日志分为如下几个级别:
      V —— Verbose(最低,输出得最多)
      D —— Debug
      I —— Info
      W —— Warning
      E —— Error
      F —— Fatal
      S —— Silent(最高,啥也不输出)

    按某级别过滤日志则会将该级别及以上的日志输出。
    比如,命令:
    adb logcat *:W会将 Warning、Error、Fatal 和 Silent 日志输出。

    1. 按 tag 和级别过滤日志
      比如,命令:

    adb logcat MyApp:D *:S

    表示输出
    tag ActivityManager 的 Info 以上级别日志。

    打开指定Activity
    adb shell am start [options]
    例如:
    adb shell am start -n com.tencent.mm/.ui.LauncherUI

    查看bug报告
    adb bugreport

    展开全文
  • ADB常用命令和路径

    2018-11-14 15:50:08
    ADB常用命令和路径。
  • ADB常用命令及其用法大全

    万次阅读 多人点赞 2019-02-23 22:03:15
    本文主要记述ADB常用命令,关于ADB用法大全,可参考文末链接 ADB简介: ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。安卓调试桥 (Android ...

    前言:
    本文主要记述ADB的常用命令,关于ADB用法大全,可参考文末链接


    ADB简介:

    ADB,即 Android Debug Bridge,它是 Android 开发/测试人员不可替代的强大工具,也是 Android 设备玩家的好玩具。安卓调试桥 (Android Debug Bridge, adb),是一种可以用来操作手机设备或模拟器的命令行工具。它存在于 sdk/platform-tools 目录下。虽然现在 Android Studio 已经将大部分 ADB 命令以图形化的形式实现了,但是了解一下还是有必要的。
    注: 有部分命令的支持情况可能与 Android 系统版本及定制 ROM 的实现有关。

    小技巧:记不住ADB命令?
    ADB 命令的插件 adb-idea

    在这里插入图片描述

    查看当前连接设备:

    • 查看当前连接设备:
    adb devices
    
    • 如果发现多个设备:
    adb -s 设备号 其他指令
    

    举例:
    adb -s devicel install xxx.apk

    查看顶部Activity:

    • windows环境下:
    adb shell dumpsys activity | findstr "mFocusedActivity"
    
    • Linux、Mac环境下:
    adb shell dumpsys activity | grep "mFocusedActivity"
    

    查看日志:

    adb logcat
    

    安装apk文件:

    adb install xxx.apk
    
    • 此安装方式,如果已经存在,无法安装;
      推荐使用覆盖安装:
    adb install -r xxx.apk
    
    • 比分直接RUN出来的包是test-onlu的无法安装,推荐使用**-t**
    adb install -r -t xxx.apk
    

    卸载App:

    adb uninstall com.zhy.app
    
    • 如果想要保留数据,则:
    adb uninstall -k com.zhy.app
    

    传递文件:

    • 往手机SDCard传递文件:
    adb push 文件名 手机端SDCard路径
    

    例如:
    adb push 帅照.jpg /sdcard/

    • 从手机端下载文件:
    adb pull /sdcard/xxx.txt
    

    查看手机端安装的所有app包名:

    adb shell pm list packages
    

    启动Activity:

    adb shell am start 包名/完整Activity路径
    

    例如:
    adb shell am start com.zhy.aaa/com.zhy.aaa.MainActivity

    • 如果需要携带参数(携带一个Intent,Key 为name):
    adb shell am start com.zhy.aaa/com.zhy.aaa.MainActivity -e name zhy
    
    • 启动一个隐式的Intent:
    adb shell am start -a "android.intent.action,VIEW" -d "https://www.google.com"
    

    发送广播:

    adb shell am broadcast -a "broadcastactionfilter"
    

    -如果需要携带参数(携带一个Intent,key为name):

    adb shell am broadcast -a "broadcastactionfilter" -e name zhy
    

    启动服务:

    adb shell am startservice "com.zhy.aaa/com.zhy.aaa.MyService"
    

    屏幕截图:

    • 可以使用screencap命令来进行手机屏幕截图,例如:
    adb shell screencap /sdcard/screen.png
    

    录制视频:

    可以使用screenrecord[options] filename命令来录制屏幕视频,例如:

    adb shell screenrecord /sdcard/demo.mp4
    

    针对Android小白的常用ADB细致讲解操作:

    一.链接ADB:

    启动ADB的2种方式:

    1. 直接进入sdk/platform-tools目录:
      然后在命令行中输入adb devices来验证设备是否连接。
      缺点:每次进入platform-tools目录很麻烦。
    2. 将adb地址写入环境变量**(即配置adb为环境变量)**
    • 没有配置环境变量之前:
      在这里插入图片描述
      解决上述图片中的问题,请看下方针对MacOS和Windows系统的解决方案:
    • 对于macOS,可以这样配置:
    export PATH=$PATH:<path to Android SDK>/platform-tools
    

    然后在命令行中输入source ~/.bash_profile或者source ~/.zshrc来更新配置文件。

    • 对于windows,可以这样配置:
    1. 先进入环境变量:
      在这里插入图片描述
      在这里插入图片描述
    2. 选择系统变量下的Path再选择编辑(你也可以选择新建,注意添加分号;)
      在这里插入图片描述
      在这里插入图片描述
      然后去寻找你的Android SDK文件夹下的platform-tools,进入该文件夹并在地址栏复制当前路径
      在这里插入图片描述
      在这里插入图片描述
      在这里插入图片描述
      最后,新建并添加复制好的路径即可。
      在这里插入图片描述
    • 验证:配置环境变量成功后,关闭当前cmd,再次进入cmd中,输入adb信息,可以看到如下图所示,那么就OK了:
      在这里插入图片描述

    注意:Android SDK,你可在安卓官网去下载,或者如果你拥有AndroidStudio也会下载过它,它可存放在资源管理器下的任意位置。你知晓它的存放位置即可。

    • 手机打开“开发人员选项:(此处以华为畅玩7x手机为例)
      进入手机设备的设置,选择关于手机
      在这里插入图片描述
      在这里插入图片描述
      找到版本号,并连续点击它7次及以上,直到出现“已打开开发者人员选项“字样时停止。 然后再回到设置 ->系统,这时可以看见开发人员选项并按照图示进行勾选。
      在这里插入图片描述
    • 验证ADB连接设备成功:
      前面的步骤完成后(即环境配置成功、开发者选择中开启了USB调试模式),打开cmd(快捷键windows键+R键盘,在框中输入cmd)。在任意路径进入cmd后,输入adb device:
    • 如果没有连接手机或因为数据线问题等其他原因,则会出现下图:(失败原因请自己排查)
      在这里插入图片描述
    • 成功后,如下图所示:(下方一串字母是我的手机序列号)
      在这里插入图片描述

    上方的A5R7N18202000063是我的手机设备序列号(手机不同,设备序列号也就不同),device是设备状态。
    设备的3种状态:
    offline ———设备未连接到adb或者没有响应
    device———设备已连接到ADB
    no device ———未连接到模拟器/设备

    二. 安装和卸载

    1. 安装:
      我们可以使用adb install [option] <path> 命令来将电脑上的一个APP安装到手机上,例如:
      adb install crime.apk
      注意:有时候apk文件不在你的启动cmd的路径下,记得添加apk文件在你电脑上的path路径。
    • 如果当前连接的设备个数超过一个(比如开启多个模拟器)。
      那么在安装操作之前,我们需要现在cmd中输入adb devices查看当前连接的设备的序列号,并复制你想要给哪个设备安装apk文件的设备序列号。然后指定要操作的设备的序列号,执行adb -s [serial_number] command 命令。
      比如现在有多个设备连接了电脑并都打开了开发者模式,那么我如果直到了我当前华为设备的序列号后,输入下列命令:
    adb -s A5R7N18202000063 install crime.apk
    

    即可安装成功crime.apk文件了。

    1. 覆盖安装:
      如果你当前要操作的手机设备已经安装了你想要安装的APP,你再去执行安装命令(即重复安装),就会报错:Failure [INSTALL_FAILED_ALREADY_EXISTS].解决方案为:覆盖安装:加上**-r**(replace)来替换当前已安装的应用。
    adb install -r crime.apk
    
    1. 卸载:
      卸载一个当前设备上的某个APP的命令为:adb uninstall [option]<packagename>,前提是你得直到你想要卸载的APP的包名。
      注意:卸载APP知道它的包名;从电脑上安装APP到手机上只需要知道电脑中APK 的存放路径和APK文件名。

    APP卸载后,其缓存文件一般也会被清除。
    如果要想保留缓存文件,添加 -k,即:
    adb uninstall -k 包名

    三.文件操作

    1. Android 手机中的文件路径:
      以前手机容量较小,一般会有可拔插的SD卡扩展内存,然后把资源数据存放到SD卡目录下。现在,手机取消了SD卡,外部存储空间很大了,但是Android仍称之为SD。为了做兼容,也会mock一个假的SD卡路径。因此,很多开发者将APP数据保存在**/sdcard**目录下。现在已经不推荐将文件存储在/sdcard目录下了。
    • 音视频文件还是应该放在SD卡目录下。 SD卡的路径是/mnt/sdcard/或者/sdcard,/sdcard是/mnt/sdcard的软链接。其中,/mnt/sdcard/DCIM一般用于存放照片,DCIM——Digital Camera Images。但是截图及APP保存图片的位置,一般是在/mnt/sdcard/Pictures。以此类推,视频文件存放在/mnt/sdcard/Movies等。

    • 当我们手机上安装完成了一个APP后,相关的文件存放在下面2个地方:
      1):APP本身被存放在/data/app 目录下。
      2):文件目录存放在/data/data/<package name>目录下,该目录下存放有数据库、SharedPreference和其他缓存数据。

    • 如果想把手机中的文件拷贝到电脑中,使用**adb pull <remote> [local]**命令。其中,local地址为空,则会拷贝到电脑当前目录下:
      例如:

    adb pull /sdcard/crime.apk 
    
    • 如果想要把电脑中的文件拷贝到手机里面,使用adb push <local> <remote> 命令:
    adb push crime.apk /sdcard/data/data
    
    1. 清除APP数据:
      在开发中,经常会遇到:清空APP缓存数据,然后进行一系列请求。如,清空APP缓存数据,可使用adb shell pm clear com.example.packagename 命令。注:该命令清除掉APP的缓存,还能把APP的数据给清空。

    2. 查看所有App的名称:
      使用如下命令:

    adb shell pm list packages
    

    注意:该命令可以查看手机上的APP名称。可以在后面加上 -f ,这样还能显示该APP的路径。
    即:

    adb shell pm list packages -f 
    

    四.事件输入:

    1. input:
    • 使用adb shell input命令向屏幕输入一些信息,
      例如:
    adb shell input text "insert%stext%shere"
    

    注意:%s表示空格。

    • 使用adb shell input tap命令来模拟屏幕点击事件,例如:
    adb shell input tap 500 1450
    

    表示在屏幕上(500,1450)的坐标点上进行一次点击。

    • 使用adb shell input swipe命令来模拟手势滑动事件,例如:
    adb shell input swipe 100 500 100 1450 100
    

    表示从屏幕坐标(100,500)开始,滑动到(100,1450)结束,整个过程耗时100ms.

    • 使用上面的命令还可以模拟”**长按(long press)**操作,也就是2个坐标点相同,耗时超过500ms.
    adb shell input swipe 100 500 100 500 500
    
    • 使用adb shell input keyevent命令来模拟点按实体按钮的命令,例如:
    adb shell input keyevent 25
    

    该命令表示调低音量。数字25是在AOSP源码中的KeyEvent类里卖弄定义的一个事件常量。该类定义了将近300个事件常量。

    1. am:
      am(Activity Manager)命令来启动一个APP、启动Activity、启动广播和服务等等。
    adb shell am start com.example.crime/com.example.crime.MainActivity
    
    • 如果启动带有参数,则使用**-e**标签,比如有一个SecondActivity,如:
    class SecondActivity : AppCompatActivity() {
    
        companion object {
            private val ARGUS_NAME = "argus_name"
            fun launch(activity: Activity, content: String): Intent {
                val intent = Intent(activity, SecondActivity::class.java)
                intent.putExtra(ARGUS_NAME, content)
                return intent
            }
        }
    
        override fun onCreate(savedInstanceState: Bundle?) {
            super.onCreate(savedInstanceState)
            setContentView(R.layout.activity_second)
    
            val name = intent.getStringExtra(ARGUS_NAME)
            nameTv.text = "Hello, $name"
        }
    }
    

    即启动SecondActivity的话需要传入一个agrus_name参数,那么在命令行中可以执行:

    adb shell am start com.example.crime/com.example.crime.SecondActivity -e argus_name QiuShui
    
    • 启动带的参数一般是Key-value形式,这里的key是argus_name,Value是QiuShui.
      除了默认启动的activity外,打开其他的activity时,需要在清单文件中添加android:exported="true"属性。
    • 要启动一个隐式的Intent,也就是说需要传入action等参数,在ADB调试桥中可以得知Intent的参数规范,比如**-a表示action**,-c表示category,-d表示data_uri,-e表示添加额外Key-Value信息。例如:
    adb shell am start -a "android.intent.action.VIEW" -d "https://www.google.com"
    

    上面这个命令会启动浏览器打开谷歌网址页面。

    • am 也能发送广播和启动服务。比如启动一个广播,一般要添加一个**-a**:
    adb shell am broadcast -a "our.specified.action"
    

    还可以在上述命令后面添加**-e**来添加额外的信息。

    • 使用下面的命令可以直接让手机重启:
    adb shell am broadcast -a android.intent.action.BOOT_COMPILETED
    
    • 启动一个服务也是类似,例如:
    adb shell am startservice "com.example.crime/com.example.crime.MyService"
    

    五.事件输出:

    1. 日志信息:
      使用adb logcat可以显示日志信息,使用**command +c (Windows下:ctrl+c)**来停止日志输出。
      比起原生的adb logcat,JakeWharton大神的pidcat显示效果更好:
      在这里插入图片描述
      但我还是更喜欢AndroidStudio的日志功能,非常完善。
    2. dumpsys:
      dumpsys命令可以提供非常多的系统信息。可以通过adb shell service list来查看dumpsys能提供查询信息的服务,常用的有:
    服务类名功能
    activityActivityManagerServiceAMS相关信息
    packagePackageManagerServicePMS相关信息
    windowWindowManagerServiceWMS相关信息
    inputInputManagerServiceIMS相关信息
    powerPowerManagerServicePMS相关信息
    procstatsProcessStatsService进程统计
    batteryBatteryService电池信息
    alarmAlarmManagerService闹钟信息
    meminfoMemBinder内存

    例如,要查看电池信息,命令行输入adb shell dumpsys battery,可以看到如下图:
    在这里插入图片描述

    • 使用adb shell dumpsys activity 查看信息,会有很长的代码,分析其结构,可以把上述命令得到的信息拆分为:
    dumpsys activity intents
    dumpsys activity broadcasts
    dumpsys activity providers
    dumpsys activity permissions
    dumpsys activity services
    dumpsys activity recents
    dumpsys activity activities
    dumpsys activity processes
    

    我们可以选择这几个中的一个命令进行查询。例如查看界面相关的,使用adb shell dumpsys activity activities命令。
    上述几种信息类型可以用缩写来表示,即adb shell dumpsys activity a等价于adb shell dumpsys activity activities命令等。注意:providers的缩写是prov、permissions的缩写是perm

    • 如果上述输出内容太多,只想关注运行的Activity结构层次其他的无所谓,可以使用grep命令来过滤:
    adb shell dumpsys activity | grep -i 'run'
    

    我这里会得到这样的输出:

      * ContentProviderRecord{978680e u0 qiushui.me.test/com.android.tools.fd.runtime.InstantRunContentProvider}
        authority=qiushui.me.test.com.android.tools.fd.runtime.InstantRunContentProvider
        Running activities (most recent first):
            Run #1: ActivityRecord{304ded1 u0 qiushui.me.test/.SecondActivity t14}
            Run #0: ActivityRecord{19b9e16 u0 qiushui.me.test/.MainActivity t14}
        Running activities (most recent first):
            Run #0: ActivityRecord{f9bafb7 u0 com.google.android.apps.nexuslauncher/.NexusLauncherActivity t13}
    ACTIVITY MANAGER RUNNING PROCESSES (dumpsys activity processes)
        User #0: state=RUNNING_UNLOCKED
    

    信息中:屏幕正在显示的界面是SecondActivity,然后是MainActivity.NexusLauncherActivity是处于最底层,就是Launcher.

    • 查看APP有那些进程,使用adb shell dumpsys activity p <packagename> | grep -i ‘ProcessRecord’ | grep -i 'PID’
      ,然后程序会输出信息,你可以数一下有多少个PID开头,有多少个就表示有几个进程。还可以知道分别的进程名和PID等等。
    • 查看APP使用了那些服务,使用 adb shell dumpsys activity s <package name> | grep -i ‘ServiceRecord’ 命令,显示结果中可以看出是谁推送的服务。
    • 查看当前APP的内存使用情况,使用**adb shell dumpsys meminfo <package name>**命令,显示结果可以知道当前APP内存使用情况。
    1. 屏幕截图:
    • 使用screencap<filename> 命令来进行手机屏幕截图,例如:
    adb shell screencap /sdcard/screen.png
    
    1. 录制视频:
      使用screenrecord [options] filename命令来录制屏幕视频,例如:
    adb shell screenrecord /sdcard/demo.mp4
    

    注:此命令适用于Android 4.4及以上的设备中。
    录制视频也有参数选项,比如 --size 设置视频大小, --time-limit设置最大录制时长等。

    六.系统命令:

    • 查看进程信息:
      使用adb shell ps命令查看进程信息。可以在该命令后加包名,来查看某个应用程序的进程信息。
    • 查看CPU使用情况:
      使用**adb shell top **命令来查看系统CPU使用情况。(ctrl+c结束)

    上述就是关于ADB的一些基本命令介绍。


    ADB用法大全:

    点开链接访问具体内容:http://www.wanandroid.com/blog/show/2310


    博主认为,最可靠的信息来源还是android官方网站,数据可靠最新,如果你感兴趣想了解Android官网中的ADB信息,请访问链接:https://developer.android.com/studio/command-line/adb.html
    官方网站提供的文档才是最全最可靠的信息来源!!!

    展开全文
  • ADB常用命令

    2019-09-19 14:31:48
    ADB常用命令 1)adb devices 通过该指令了解目前连接设备/模拟器的状态的相关信息 状态信息包含以下3中不同的状态: a、device状态:这个状态表示设备或模拟器已经连接到adb服务器上 b、offline状态:设备或模拟器...

    ADB常用命令


    1)adb devices
    通过该指令了解目前连接设备/模拟器的状态的相关信息
    状态信息包含以下3中不同的状态:
    a、device状态:这个状态表示设备或模拟器已经连接到adb服务器上
    b、offline状态:设备或模拟器没有连接到adb服务器上
    c、no device状态:表示没有物理设备或模拟器链接

    2)adb install
    通过该指令是把测试的手机应用软件安装到连接的手机设备中
    也可以使用adb -s物理手机设备序列号/手机模拟设备序列号 install 安装包路径
    如:adb -s8ebcdcb9 install C:\Users\yunl…

    说明:
    a、重新安装需要将原先已安装的卸载
    b、如果不想卸载而是覆盖,就需要在安装路径前加 -r 参数
    c、如果同时连接了模拟器和手机设备,直接使用adb install就会报错

    3)adb uninstall
    卸载已安装的应用, adb -s物理手机设备序列号/手机模拟器设备序列号 shell pm uninstall -k 已安装的应用包名

    4)adb pull
    将手机上的文件传送到我们的电脑上,如adb pull /sdcard/error_fs.dat d:/
    adb push 电脑上文件发送到手机设备上

    5)获取手机系统版本信息:adb shell getprop ro.build.version.release

    6)获取手机Android系统各个分区的相关信息:adb shell df

    7)获取设备序列号:adb get-serialno

    8)获取模拟器/设备当前状态:adb get-state

    9)查看和跟踪系统日志:adb logcat

    10)启动adb服务adb start-server

    11)关闭adb服务 adb kill-server

    12)将本机的端口重定向到手机设备或模拟器端口上
    adb forward tcp: 2211 tcp:5566

    13)查找安装的包名:adb shell pm list package
    过滤查询 adb shell pm list package | grep “android”

    adb devices常遇到的问题
    adb devices 通过该指令了解目前连接设备/模拟器的状态的相关信息
    但经常碰到的问题就是输入该命令,提示List of devices attached

    解决如下:
    首先必须关闭所有关于360的相关进程,先执行 adb start-server 启动adb服务 adb kill-server,如果还不行可能是需要将设备id加入到adb_usb.ini中在计算机 设备管理器中—便携设备:必须使用USB连接

    展开全文
  • android:adb常用命令 1、覆盖安装命令:adb install -r xxx.apk,如果已经安装有这个apk的话直接adb install xxx.apk会提醒Failure [INSTALL_FAILED_ALREADY_EXISTS,加-r的会覆盖安装,-r: replace existing a....
  • adb常用命令大全

    2021-01-29 14:15:00
    进入android内部执行linux命令6.退出android7.查看应用列表8. 获取前台包名和activity名9.启动应用10.清除应用数据和缓存11.强制停止应用12.设备和电脑传输文件13.设备截图14.查看日志15.查看性能参数 adb 一、adb...
  • ADB常用命令文档.zip

    2021-09-12 14:36:21
    ADB常用命令文档
  • adb 常用命令

    2018-06-25 15:41:46
    adb devices 2. 进入指定的device的shell adb shell 或者 adb -s ********* shell 3. adb 查看所有安装的包 pm list packages 4. 根据某个关键字查找包 $ pm list packages | grep tencent ...
  • ADB常用命令使用

    2021-01-03 14:43:03
    adb介绍 adb的全称为Android Debug Bridge,就是起到调试桥的作用。通过adb我们可以在Eclipse中方便通过DDMS来调试Android程序,说白了就是debug工具。 adb是android sdk里的一个工具, 用这个工具可以直接操作管理...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 23,283
精华内容 9,313
关键字:

adb常用命令