自适应应用开发是 Android 的基础,但要确保所有内容看起来都美观且每项功能都能正常运行,需要在多部设备上进行多次测试。或者说有可能?
嗯,可以…也不可以!虽然 Android Studio 随附了可调整大小的模拟器,可让您手动测试布局,但还有一种更快、更精简的方式可以直接从终端控制设备规格。通过使用 adb emu 快捷方式,您可以利用即发即弃控制台命令执行可立即将控制权返回给调用 shell 的命令。
如果您同时运行多个模拟器,可以通过传入快捷方式的序列号来指定特定虚拟设备:
adb -s <serial> emu <command> <parameter>
首先:折叠和展开
如需测试特定于可折叠设备的用户体验历程和布局配置,您可以以编程方式折叠和展开模拟设备。
adb emu fold
如果可折叠模拟器处于展开状态,您可以将其折叠以显示其较小的屏幕配置,从而开启(虚拟)外接显示屏。如需展开模拟器并开启内部显示屏,只需运行以下命令:
adb emu unfold
现在,您可以立即验证应用是否会保留其状态,以及布局在不同显示尺寸下是否会按预期显示。
旋转、旋转、旋转
正确处理屏幕方向变化是自适应应用开发的基础。您可以以程序化方式触发设备旋转,以测试应用处理配置变更(包括状态恢复)的能力。以下命令会将设备顺时针旋转 90°:
adb emu rotate
使用传感器模拟姿势
将模拟器置于特定物理姿势(例如桌面模式)时会发生什么情况?最简单的方法是使用查询可用位置的数量。
首先,列出所有可用的传感器及其当前状态:
adb emu posture
这会返回类似于以下内容的位置列表:
Usage: "posture <posture_id>" 1: closed 2: half-opened 3: opened …
然后,您可以使用半开 ID 调用桌面姿态:
adb emu posture 2
| 注意:并非所有姿势都受每个虚拟设备的支持。Pixel Fold 或可调整大小的 AVD 等标准 AVD 模板仅支持姿势 1、2 和 3。尝试将这些模板上的值设置为 4 或 5 会返回“KO: Failed to set posture”错误。 |
可调整大小的模拟器呢?
可调整大小的模拟器具有轻松更改自身大小的超能力。借助 adb emu 命令,您只需一条命令即可自由移动该文件。在进行任何更改之前,只需一次调用即可查询可用的调整大小预设:
adb emu resize-display
系统将返回可用礼物列表:
KO usage: "resize-display <index>" 0: phone 1: unfolded 2: tablet
现在,使用所需的 ID 调用 resize-display 参数会将模拟器调整为所需的大小:
adb emu resize-display 1
立即简化测试流程
就是这样!通过将 fire-and-forget 命令集成到命令行工作流中,与同时运行多个模拟器相比,您可以节省大量时间和资源。
现在是开始实验的好时机。如果您之前未使用过这些控制台快捷方式,请打开终端,启动模拟器,前往文档,立即开始使用!
-
文档用户隐私和透明度是 Android 体验的核心。为了更好地遵循这些原则,我们将更新 Nearby Connections API 的默认行为,以调整其与设备无线装置的互动方式。
Wei Wang • 阅读用时:1 分钟 -
产品资讯随着 Android 17 的发布,我们正在向自适应优先开发标准过渡。您的用户不再依赖单一的设备形态,而是在一天中不断切换手机、可折叠设备、平板电脑、笔记本电脑、车载显示屏和沉浸式 XR 环境。
Fahd Imtiaz • 阅读用时:3 分钟 -
产品资讯Googlebook 推出了一类基于共享 Android 基础构建的新型笔记本电脑。HP、Dell、Lenovo、Acer 和 Asus 等合作伙伴提供的高性能硬件,兼具移动便利性和桌面设备性能。
Fahd Imtiaz, Loryn Hairston • 阅读用时:4 分钟
每周通过电子邮件接收最新的 Android 开发洞见。