掌握Android:ADB命令的综合指南
#android #automationtesting #softwaretesting

Android调试桥(ADB)是一种命令行工具,可使高级用户和开发人员与Android设备进行交互。 ADB使开发人员能够在Android设备,访问系统文件,安装和删除应用程序上运行命令,并通过常规Android用户界面进行各种其他操作。

要使用ADB,您必须在计算机上安装Android SDK(软件开发套件)。 Android SDK包括ADB,以及其他debugging tools和Android开发所需的库。安装了SDK后,您可以通过打开命令提示符或终端窗口并导航到SDK中的平台工具目录。

这里是前30个+ CI/CD Interview Questions 和答案,这将帮助您增强对面试的信心

设置ADB后,您可以在Android设备上运行各种命令。这是您应该注意的一些最方便的ADB命令:

adb devices

此命令显示ADB当前在计算机上检测到的每个连接设备的列表。

 > adb devices
 List of devices attached
 emulator-5554   device

adb install [apk file]

通过此命令在您的设备上安装了APK文件(Android应用程序包)。

> adb install ./workspace/VodQaAdvancedAppium/apps/VodQA.apk
 Performing Streamed Install
 Success

adb uninstall [package name]

此命令从您的设备中删除了一个应用程序,其中包名称为应用程序包名称。

 > adb uninstall com.vodqareactnative
 Success

adb shell

在此命令的帮助下,您可以执行命令并获得对设备上的系统文件的直接访问。

 > adb shell
 generic_x86_64:/ $ ls
 acct      bin         config  data_mirror    dev   init.environ.rc metadata oem res sys vendor
 adb_keys  bugreports  d       debug_ramdisk  etc   linkerconfig     mnt       proc     sdcard   system
 apex      cache       data    default.prop   init  lost+found       odm       product  storage  system_ext
 generic_x86_64:

adb pull [source] [destination]

在我们的综合教程中发现 agile interview questions 的基本提示和常见问题。有效地准备并在下一次敏捷面试。

此命令将文件或目录从设备传输到计算机,其目的地是计算机上的位置,将文件或目录复制到。来源是设备上的文件或目录。

 > adb pull config .
 config/: 0 files pulled, 0 skipped.

adb push [source] [destination]

此命令将文件或目录从您的计算机传输到目标设备,目标设备的位置是目标设备上的位置,而源是计算机上的文件或目录。

adb shell pm list packages

此命令列出了设备上的所有已安装软件包(应用程序)。

> adb shell pm list packages
 package:com.android.cts.priv.ctsshim
 package:com.android.internal.display.cutout.emulation.corner
 package:com.android.internal.display.cutout.emulation.double
 package:com.android.providers.telephony
 package:com.android.dynsystem
 package:com.android.theme.icon.pebble
 package:com.android.providers.calendar
 .......

adb shell pm clear [package name]

此命令清除应用程序的数据和缓存,其中包名称是您要清除的应用程序的包名称。

adb logcat

此命令显示设备的logcat输出,这可以帮助调试和故障排除。

adb reboot

此命令重新启动设备。

adb shell dumpsys

此命令在您的设备上显示了广泛的系统信息,包括电池状态,内存使用和过程信息。

adb shell dumpsys activity

此命令显示有关您设备上当前运行活动的信息。

adb shell dumpsys package [package name]

此命令显示有关特定软件包(APP)的详细信息,其中软件包名称是您要获取信息的应用程序名称。

adb shell dumpsys batterystats

此命令在您的设备上显示详细的电池使用统计信息。

adb shell dumpsys meminfo [package name]

此命令显示特定软件包(APP)的详细内存使用统计信息,其中软件包名称是您要获取信息的应用程序的包名称。

adb shell dumpsys connectivity

此命令显示有关设备网络连接的信息,包括当前网络类型和连接状态。

adb shell dumpsys surface

此命令显示有关设备上当前可见表面的详细信息。

adb shell dumpsys display

此命令显示有关设备显示的详细信息,包括当前显示模式和分辨率。

adb shell dumpsys cpuinfo

此命令在您的设备上显示详细的CPU使用统计信息。

adb shell dumpsys netstats

此命令在您的设备上显示详细的网络使用统计信息。

adb shell dumpsys window

在这里295+ Selenium Interview Questions 带有答案,可以帮助您增强对面试的信心。

此命令显示有关设备窗口管理器的详细信息,包括所有窗口的当前焦点和布局。

adb shell dumpsys input

此命令显示有关设备输入管理器的详细信息,包括所有输入设备和输入队列的当前状态。

adb shell dumpsys power

此命令显示有关设备电源管理器的详细信息,包括当前的电池电量,电源和尾锁统计。

adb shell dumpsys battery

此命令显示有关设备电池的详细信息,包括当前电池电量,电压和温度。

adb shell dumpsys batterystats --reset

此命令重置设备上的电池使用统计信息。

adb shell dumpsys meminfo -a [package name]

此命令显示特定软件包(APP)所有进程的详细内存使用统计信息,其中软件包名称是您要获取信息的应用程序名称。

adb shell dumpsys gfxinfo [package name]

此命令显示特定软件包(APP)的详细图形性能统计信息,其中软件包名称是您要获取信息的应用程序的包名称。

adb shell dumpsys input [input device id]

此命令显示有关特定输入设备的详细信息,其中输入设备ID是要获取有关的输入设备的ID。

adb shell dumpsys surface [window name]

此命令显示有关特定窗口的详细信息,其中窗口名称是您要获取信息的窗口的名称。

adb shell screencap [filename]

此命令截图设备并将其保存到计算机上的指定文件名。

adb shell screenrecord [filename]

此命令记录设备的屏幕并将其保存到计算机上的指定文件名。

adb shell input [event]

此命令将输入​​事件发送到设备,该事件可以是各种操作,例如键按,触摸事件等。

adb shell monkey [options] [package name]

WebdriverIO 是基于JavaScript的测试自动化框架,建立在Nodejs上。通过本指南了解如何使用WebDriverio执行Web自动化测试。

此命令在指定的软件包(APP)上运行随机应力测试,其中可以使用选项来指定要生成的事件的数量,并且软件包名称是您要在上面运行测试的应用程序的软件包名称。

adb shell am [start|instrument] [options] [package/activity]

此命令启动活动或在指定的软件包(APP)上运行仪器,可以使用选项来指定其他参数,例如目标软件包,组件和数据以及软件包/活动是您要启动或运行仪器的软件包名称或活动名称。

adb shell dumpsys activity [activity name]

此命令显示有关特定活动的详细信息,包括其状态,意图等。

adb shell dumpsys batterystats --charged

此命令显示设备充满电时的电池统计信息。

adb shell netcfg

此命令在设备上显示当前网络配置。

adb shell top

此命令在设备上显示当前的CPU用法和过程统计信息。

> adb shell top
Tasks: 245 total,   1 running, 244 sleeping,   0 stopped,   0 zombie
  Mem:  2028168K total,  1668304K used,   359864K free,  33271808 buffers
 Swap:  1521120K total,         0 used,  1521120K free,   921464K cached
400%cpu   0%user   0%nice   7%sys 393%idle   0%iow   0%irq   0%sirq   0%host
   PID USER         PR  NI VIRT  RES  SHR S[%CPU] %MEM     TIME+ ARGS
  3305 shell        20   0  10G 4.4M 3.6M R 11.1   0.2   0:00.02 top
   313 bluetooth    20   0  10G 6.2M 5.1M S  7.4   0.3  88:39.49 android.hardwa+
.......

adb shell ps

此命令在设备上显示当前正在运行的进程。

adb shell cat [file path]

此命令在设备上显示文件的内容,其中文件路径是要查看的文件的路径。

adb shell ls [directory path]

此命令在设备上显示目录的内容,其中目录路径是要查看目录的路径。

adb shell df

此命令在设备上显示当前磁盘使用统计信息。

adb shell ifconfig

此命令在设备上显示当前IP配置。

adb shell wm

此命令允许您与设备的窗口管理器进行交互。您可以使用它显示/隐藏状态栏,更改DPI等。

adb shell dumpsys activity services [package name]

此命令显示有关在特定软件包(APP)中运行的服务的详细信息,其中软件包名称是您想要获取信息的应用程序名称。

adb shell dumpsys activity broadcasts

此命令显示有关设备上广播接收器的详细信息。

adb logcat -d | grep -i "FATAL"

使用该命令中的logcat命令显示设备的日志输出,然后将输出流传输到GREP程序,该命令将输出搜索包含“致命”一词的线路。通过这样做,将显示存储在logcat中的所有崩溃日志。

在此博客中,有关 mobile app automation testing 工具,我们列出了具有优势和业务友好功能的最佳11个移动自动化测试工具。

adb logcat -d -s :F

此命令获取特定应用程序的崩溃日志,可以帮助调试和故障排除。

adb shell dumpsys activity | grep -i 'http|https'

使用dumpsys活动命令,此命令显示了活动经理的状态。然后将输出输送到GREP命令,该命令搜索包含术语http或https的行的输出。

adb shell dumpsys package | grep -i 'permission'

此命令使用dumpsys软件包命令显示有关指定软件包(APP)的信息,其中package_name是您要获取信息的应用程序的软件包名称,然后将输出输出到GREP命令,该命令过滤了包含单词许可的行的输出。这将显示该应用当前使用的所有权限。

这些命令允许您以各种方式与设备进行交互并检索有价值的信息,例如当前正在运行的过程,网络配置,磁盘使用等,同时执行移动应用程序自动化测试。

但是,如果您正在像Lambdatest这样的real device cloud上执行移动应用自动化测试,则可以利用一组可以通过JavaScript执行者在应用程序自动化测试脚本中执行的ADB命令。

要在LambDatest的真实设备云上执行ADB命令,您需要将以下命令与指定的参数一起使用。请注意,可用ADB命令的数量可能受到限制。

Map<String, Object> params = new HashMap<>();
params.put("command", "input-swipe");
params.put("startX", 200);
params.put("startY", 900);
params.put("endX", 200);
params.put("endY", 300);


// command to generate a swipe gesture
Object result = driver.executeScript("lambda-adb", params);

希望通过JavaScript执行者运行应用程序测试自动化脚本?前往我们的documentation on ADB commands开始在Lambdatest平台上开始。

除了支持ADB命令外,LambDatest还提供了一系列其他移动测试功能,包括在真实设备上的自动测试,设备日志和视频记录等等。

简而言之,确保应用程序在向用户发布之前没有错误是至关重要的,而调试是开发人员,工程师和测试人员的关键部分。调试是对测试的补充,这有助于确定程序中错误的发生方式。为了简化测试人员的调试过程,统一的数字测试云Lambdatest发布了一个名为LT Debug的新扩展名。使用此工具,测试人员可以更有效地进行调试,并减少麻烦。

iOS emulator by lambdatest允许您无缝测试网站和WebApp,并在最新的传统设备,OS版本和浏览器上进行WebApp。您还可以在200多个设备和iOS环境上在线测试iOS应用程序。免费注册。

结论

总而言之,掌握ADB命令可以大大增强您使用Android设备的能力,无论您是开发人员,测试人员还是电源用户。使用ADB,您可以以各种方式与设备进行交互并检索有价值的信息,例如当前运行的过程,网络配置,磁盘使用情况等。

在本文中,我介绍了与Android设备合作至关重要的各种ADB命令。我还为每个命令提供了示例和解释,以帮助您更好地了解它们的工作方式以及如何有效使用它们。

请记住,ADB命令可以是强大的工具,因此请谨慎使用它们,并确保您在对设备进行任何更改之前都知道要做什么。凭借练习和耐心,您可以成为ADB的大师并解锁Android设备的全部潜力。