添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

适用于 Android™️ 的 Windows 子系统使你的 Windows 11 设备能够运行 Amazon Appstore 中提供的 Android 应用程序。 Android 是 Google LLC 的商标。 如果你是一名开发人员,想要面向 Windows 桌面设备并针对 Windows 操作系统进行优化,请参阅本指南。

要使 Android 应用在 Windows 11 设备上可用,必须执行以下操作:

  • 将应用提交到 Amazon Appstore
  • 有关详细信息或支持,请参阅以下内容:

  • 注册以获取 Amazon Appstore 上有关 Windows 计划的更新
  • 访问 Amazon 开发者支持门户 ,设置 Amazon 开发者帐户后,可在此处查找文章、论坛、常见问题解答或者通过 Appstore 的“联系我们”页面寻求直接支持。
  • 本指南有助于你在 Windows 上测试和调试 Android 应用:

  • 设置开发环境 ,包括 先决条件 安装 Amazon Appstore 以及使用 “设置”应用
  • 处理 Windows 设备的输入兼容性注意事项,例如: 键盘输入 鼠标输入 以及 窗口管理和调整大小
  • 在 Windows 11 设备上 测试和调试 应用。
  • 故障排除并找到解决办法
  • 开发人员 GitHub

    想了解有关适用于 Android 的 Windows 子系统路线图的详细信息,与子系统团队讨论开发人员问题和提交 bug 或功能请求吗? 请访问 适用于 Android 的 Windows 子系统开发人员 GitHub

    适用于 Android™ 的 Windows 子系统预览计划允许用户在 Windows 上接收适用于 Android™ 和 Amazon Appstore 的 Windows 子系统的早期预览版本。 有关详细信息,请访问 预览计划页

    设置开发环境

    要在 Windows 桌面环境中测试 Android 应用,需要进行一些设置。

    适用于 Android 的 Windows 子系统可在 Windows 11 上使用。 你的设备必须满足以下特定要求: 设备要求

    安装 Amazon Appstore

    当执行以下两个用户操作中的任意一个时,Microsoft Store 将在后台无提示地自动安装适用于 Android 的 Windows 子系统:

  • 从 Microsoft Store 安装 Amazon Appstore。 选择“获取”将开始安装应用。
  • 首次从 Microsoft Store 安装 Android 应用,这也将安装 Amazon Appstore。
  • 然后,Amazon Appstore 和适用于 Android 的 Windows 子系统的“设置”应用将出现在 Windows 11 的“开始”菜单中并可供搜索,提供 Android 应用的目录。

    Windows 上的 Amazon Appstore(需要使用此软件才能在 Windows 11 上运行 Android 应用)在 部分地区 可用。

    Windows Subsystem for Android™️“设置”应用

    要访问适用于 Android 的 Windows 子系统“设置”应用,请转到:“开始”>“所有应用”>“适用于 Android 的 Windows 子系统™️ 设置” >> 。 了解有关特定设置应用功能的详细信息: 管理 Windows 移动应用的设置

    Windows 设备的输入兼容性注意事项

    你还需要考虑一些独特的输入行为,这些行为可能要求更新专为手持设备设计的 Android 应用代码,使其可兼容通过 Amazon Appstore 在 Windows 桌面设备上运行的情况。

    对于由屏幕虚拟键盘输入法(或 IME)处理的文本输入字段(例如 EditText ),应用应正常运行。 ( Android 文档中的 EditText 类 )。

    对于框架无法预测的击键,应用需要自己处理该行为。 如果已在应用内实现,则无需执行额外的工作。

    例如,某些游戏可能已经支持通过键盘上的 w a s d 键以及触控输入方便移动。

    开发人员在为 Windows 11 设备构建时应考虑更新代码的键盘输入有:

  • Enter 键
  • 箭头键和 Tab 键导航
  • 更改选定项的突出显示颜色
  • 基于 Ctrl 的快捷键
  • 要详细了解如何在桌面设备上优化这些键盘输入方案,请参阅 Android 文档中的以下内容:

  • Android 文档中的输入兼容性指南
  • Android 文档中的键盘输入处理指南
  • Android 文档中的触控手势使用指南
  • 在为 Windows 设备构建时,开发人员应考虑更新以下鼠标输入的代码:

  • 工具提示/悬停文本
  • 鼠标滚轮操作
  • 鼠标输入(类似于键盘输入)必须遵循官方 Android 应用指南。 这意味着需要将 InputDevice 类与 SOURCE_MOUSE 常量配对使用。 要详细了解如何在桌面设备上优化这些鼠标输入方案,请参阅 Android 文档中的以下内容:

  • Android 文档中的输入兼容性指南
  • Android 文档中的 InputDevice 参考
  • Android 文档中的 SOURCE_MOUSE 参考
  • 窗口管理和调整大小

    与传统的移动设备外形规格不同,在 Windows 11 上运行的 Android 应用可以自由调整大小,在调整大小时应该响应迅速,并且可以使用 Windows 操作/手势进行贴靠。

    最低屏幕要求

    Windows 11 强制要求最低 720p 的屏幕分辨率 (1280x720),并且屏幕尺寸 > 9 英寸。

    Letterboxing 和 Pillarboxing

    当窗口大小的纵横比与显示窗口的设备屏幕大小不一致时,可能会导致 Letterboxing(窗口的宽度大于高度,或者说在水平方向上更长)或 Pillarboxing(窗口的宽度小于高度,或者说在垂直方向上更长)。 这样一来,为了使窗口保持居中,就会在其两侧放置长条。 这些长条可能是浅色或深色的,具体取决于所选的系统设置。 只有在贴靠或最大化 Android 应用时才会发生这种情况,这使 Android 应用能够利用 Windows 中丰富的贴靠功能并集成到窗口模型中。

    调整大小的其他注意事项

    在更新 Android 应用以在 Windows 11 设备上运行时,还应注意以下有关窗口管理和调整大小的事项:

  • 初始启动大小
  • 自由调整大小
  • 要详细了解如何优化桌面设备上的窗口大小调整方案,请参阅 Android 文档中的 窗口管理指南

    应用程序生命周期事件

    为多窗口环境开发 Android 应用程序会影响你选择在应用程序中使用的生命周期事件。 虽然重写 onPause 事件可能会在手机或平板电脑上实现所需的结果,但如果要更改应用的 UX,则使用该事件通常是错误的。

    有关生命周期事件的说明,请参阅 Android 文档 。 通常,你需要使用 onStop 事件,而不是 onPause onUserLeaveHint 事件。 事实上,许多多窗口 Android 实现不会提供 onUserLeaveHint 通知,因此可能在该事件处理程序中的任何业务关键逻辑都不会在这些平台上调用,包括适用于 Android 的 Windows 子系统。

    测试和调试

    要使用适用于 Android 的 Windows 子系统在 Windows 11 设备上测试和调试应用,需要执行以下设置步骤。

    在 Windows“设置”中启用开发人员模式

    必须首先在 Windows“设置”中启用开发人员模式。 可通过以下三种方式开启开发人员模式:

  • 打开 适用于 Android 的 Windows 子系统“设置”应用 。 打开后,启用“开发人员模式”。
  • 在 Windows 搜索中搜索“开发人员设置”。
  • 导航到“设置”>“隐私和安全”>“面向开发人员”>“开发人员模式”。
  • 连接到适用于 Android 的 Windows 子系统进行调试

    连接到适用于 Android 的 Windows 子系统 VM 进行调试:

  • 启动使用 Amazon Appstore 安装的 Android 应用。

  • 可以使用 adb connect 通过以下命令进行连接(必须 安装 adb ):

    adb connect 127.0.0.1:58526
    

    连接到测试设备

    从 Windows/Mac 连接到同一网络上的测试设备(安装了适用于 Android 的 Windows 子系统):

  • 在测试设备(安装了适用于 Android 的 Windows 子系统)上,打开 PowerShell 窗口并通过运行以下命令来识别测试设备的 IP 地址:

    ipconfig
    
  • 在安装了 Android Studio 和 Android SDK 的调试设备终端 (Mac/Windows) 中,输入命令:

    adb connect <TEST DEVICE IP ADDRESS>:58526
    

    <TEST DEVICE IP ADDRESS> 可以在测试设备的“ipconfig”输出中找到。 你还可以从 Android Studio 部署和调试应用。

    要使用 Android Debug Bridge (ADB) 将开发工作站直接连接到 Android 设备,以便安装包及评估更改,请参阅 Android 开源项目文档中的 Android Debug Bridge

    虽然应使用 Amazon Appstore 安装应用,但可以使用 APK(Android 应用程序包)和 adb (Android Debug Bridge) 在 Windows 设备上调试 Android 应用。

    使用 adb 调试 APK:

  • 按照上述步骤连接到适用于 Android 的 Windows 子系统 VM。

  • 使用 adb install 命令安装 APK:adb install app-debug.apk

    预期输出:

    Performing Streamed Install
    Success
    
  • Windows 通知菜单中将显示“应用安装成功”通知,应用将在选择后启动。

    构建通用 APK

    适用于 Android 的 Windows 子系统利用 Intel Bridge 技术在基于 x86 的处理器上模拟 ARM 应用程序。 ARM 应用程序将在基于 ARM 的处理器上运行。 仿真层会产生性能开销 - 为了获得最佳性能,请提交适用于 x86-64 和 Arm64 体系结构的应用程序。

    VM 生命周期注意事项

    适用于 Android 的 Windows 子系统利用可与 AOSP 框架和键盘、鼠标、触控笔等设备兼容的虚拟机 (VM)。

    使用适用于 Android 的 Windows 子系统运行应用的 VM 有三种可能的状态:

  • 轻度睡眠:持续 3 分钟没有应用活动后激活。 由用户活动或应用通知停用。
  • 未运行:持续 7 分钟没有应用活动后激活。
  • 这些状态之间的转换由用户活动触发,例如启动或与 Android 应用或应用通知交互。 Android 应用将暂停,然后在窗口最小化时停止。

    VM 属性

    下面列出了适用于 Android 的 Windows 子系统 VM 的属性。 不建议对这些值进行硬编码,因为这可能会导致以后不兼容。

    Value

    适用于 Android 的 Windows 子系统对每个文件执行基于软件的加密。

    Windows 内核模式驱动程序和以中等完整性级别 (IL) 运行的 Windows 应用程序都可以检查任意 Android 容器和 Android 应用内存。 短期内没有增加作弊/宏/机器人/可疑行为检测的计划。

    查询 getSecurityLevel 的开发人员将获得 SECURITY_LEVEL_SW_SECURE_CRYPTO。 要详细了解 getSecurityLevel,请参阅 Android API 参考指南

    卸载适用于 Android 的 Windows 子系统

    你可以卸载适用于 Android 的 Windows 子系统,但请注意,关联的所有应用也将随之卸载。

  • 卸载 Amazon Appstore 将卸载适用于 Android 的 Windows 子系统及其他所有 Amazon 应用。
  • 卸载 Amazon Appstore 应用只会卸载该应用(与 Windows 应用的行为相同)。
  • 卸载适用于 Android 的 Windows 子系统 将卸载 Amazon Appstore 及所有 Amazon 应用。
  • 对问题进行故障排除

    如果在 Windows 上遇到特定于 Amazon Appstore 的问题,请尝试执行以下排查步骤:

  • 从 Windows 任务栏中选择“Windows 搜索”。
  • 搜索“Amazon Appstore”并右键单击 Amazon Appstore 图标。
  • 在下拉选项中选择“应用设置”。
  • 选择“存储和缓存”,然后单击“清除存储”和“清除缓存”。
  • 返回并选择“强制停止”。
  • 关闭 Amazon Appstore“设置”窗口。
  • 重新启动 Amazon Appstore。
  • 有关适用于 Android 的 Windows 子系统的“设置”应用的进一步排查步骤,或要在反馈中心留下反馈,请参阅 Windows 移动应用疑难解答和常见问题解答

    对于任何其他开发人员问题和支持,请使用 Microsoft Q&A 上的适用于 Android 的 Windows 子系统标记

  • 来自 Amazon Appstore 的应用
  • 适用于 Android 的 Windows 子系统上的辅助功能
  •