Android Debug Bridge (ADB)
ADB 是一款面向开发人员的重要工具,你可用它来与 Android 模拟机交互,还可处理连接的设备。 ADB 文档中介绍了许多功能,而下面是一些有用的命令:
- adb kill-server 和 adb start-server - 必要时,停止和启动 ADB 服务
- adb devices - 列出可用的设备(包括仿真器和附加到计算机的手机/平板电脑)
- adb install - 安装 APK 文件
- adb shell - 在 Android 系统中执行命令,例如:
- adb shell pm list packages - 列出所有已安装的包
- adb shell pm path com.example.someapp - 获取指定的包的文件系统路径
- adb pull - 从仿真器或设备中提取文件
模拟应用跨屏
ADB 的另一种用途是模拟输入命令,例如在 Surface Duo 上实现应用的自动跨屏。 这些屏幕截图显示了跨屏过程,也就是握住窗口底部的手柄,将它朝铰链拖动,直到跨屏指示器覆盖两个屏幕:
可通过 ADB 使用以下命令模拟该手势:
adb shell input touchscreen swipe 675 1780 1350 1500 3000
前四个值是拖动手势的起点和终点坐标,最后一个值是所用的时间(毫秒)。 时间很重要,因为如果拖动速度太快,则应用会“抛到”另一侧屏幕上,而不是跨屏显示。 三秒很适合。
也可在 UI 测试期间模拟应用跨屏和其他手势。
使用 ADB 命令进行调试
按照以下步骤使用 ADB 命令进行调试:
查找仿真器设备 ID
运行
C:\>adb devices
。emulator-5554 device
查找要调试的包。
运行
adb shell pm list packages
。package:com.android.managedprovisioning package:com.android.smspush package:com.android.wallpaper.livepicker package:com.android.storagemanager package:com.android.bookmarkprovider package:com.android.settings package:com.android.calculator2 package:com.android.vpndialogs package:com.android.email package:com.android.music
将应用设置为在启动时调试(注意 -w)
运行
adb shell am set-debug-app -w com.microsoft.device.display.samples.masterdetail
。在仿真器中启动应用。
你将看到一个弹出窗口,显示应用正在等待要附加的调试。 每次都需要重新运行设置调试(或使用 --persistent 选项)。
连接 Android Studio 调试器
在 Android Studio 菜单选项中,选择“ 运行 > 附加调试器”。 仿真器和进程应会被列出。
指向源代码并设置断点。