This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.

创建和分享内部分发构建

编辑页面

了解内部发布构建、我们为什么需要它们,以及如何创建它们。


在本章中,我们将学习如何设置内部分发构建

观看:如何创建并分享内部分发构建
观看:如何创建并分享内部分发构建

使用 EAS 创建一个内部分发构建,并直接与团队共享以进行测试。


内部分发构建

内部分发构建非常适合与团队成员共享更新,让技术和非技术相关方都能直接提供反馈。与开发构建不同,这些构建不需要运行开发服务器,从而简化了测试流程。

在内部分发中应用的方法

Google 和 Apple 都提供了内置机制用于在内部共享应用:

  • Android:使用 Google Play beta
  • iOS:使用 TestFlight

不过,这两种传统方法都有其局限性。例如,TestFlight 一次只允许一个有效构建。

使用 EAS Build 加快分发

EAS Build 能加快这一流程。它会为我们的构建创建可分享的链接,并提供使用说明。它带有一个专为促进内部分发而设计的默认配置,提供了比传统方法更高效的替代方案。

创建内部分发构建

要使用 EAS Build 创建并分发构建,我们需要遵循以下步骤:

1

配置 preview 构建配置文件

在我们最初的 eas.json 设置中,已经有一个默认配置,其中包含一个专为内部分发设计的 preview 构建配置文件:

eas.json
{ "build": { "preview": { "distribution": "internal" } } }

这就是创建第一个内部分发构建所需的全部内容。上面代码片段中的 preview 构建配置文件有一个 distribution 属性,其值设置为 internal。这个值允许我们与任何人分享构建 URL,以便他们可以在自己的设备上安装,并且不需要运行开发服务器来启动应用。

如前几章所述,对于非应用商店构建,Android 需要 .apk 格式,而 iOS 需要 .ipa 格式。内部分发构建同样适用这一点。当 distribution 设置为 internal 时,会自动为设备创建这些文件格式的应用二进制文件。

2

创建

创建内部分发构建需要 应用签名凭据

Android 应用签名没有严格限制,允许安装任何兼容的 .apk 文件。在创建开发构建时,会为其生成一个新的 Android Keystore。因此,preview 构建不需要再生成新的 keystore。

另一方面,Apple 对 iOS 设备上的应用分发有更严格的规则。我们需要一个 ad hoc provisioning profile,其中明确列出允许运行该应用的设备。一些应用满足特定要求的组织,也许可以使用 Apple Developer Enterprise Program 将应用内部分发给更大范围的受众。

  • 使用 preview 配置文件发起 Android 构建:
Terminal
eas build --platform android --profile preview
  • 此命令会触发 EAS Build,并且在 EAS 仪表盘中,我们可以看到构建进度:

3

安装

构建完成后,构建产物(Build artifact)部分会更新,表明构建已完成。该部分提供了在 iOS 设备上运行开发构建的可用方法:Expo Orbit 和 Install 按钮。

  • 打开构建详情页面。如果你要与他人共享该构建,可以把构建链接发给他们。他们将能够打开构建详情页或构建产物详情,其中包括 Expo Orbit。
  • 使用 USB 将 Android 或 iOS 设备连接到你的电脑。
  • 打开 Orbit 菜单栏应用。
  • 在 Orbit 应用中选择 设备(Device)
  • 构建产物(Build artifact) 下,点击 使用 Orbit 打开(Open with Orbit)
替代方法:使用 Install 和二维码
  • 打开构建详情页面。如果你要与他人共享该构建,可以把构建页面链接发给他们。他们将能够打开它并查看包含 Expo Orbit 的构建产物详情。
  • 在构建产物(Build artifact)部分点击 Install,以显示 在测试设备上安装 弹窗。
  • 复制 Send a link to a device 部分中的链接,并将其发送到测试设备。

4

运行

在你的设备上点击应用图标即可启动 preview 构建。无需开发服务器。

由于我们已经设置了多个应用变体,因此可以看到开发版和 preview 版分别安装在我们的设备上。例如:

  • 在 Android 上:
  • 在 iOS 上:

总结

Chapter 6: Create and share internal distribution build

We successfully created internal distribution builds for Android and iOS, used ad hoc provisioning for iOS, and installed multiple app variants on the same device.

In the next chapter, learn about developer-facing and user-facing app versions and how to manage them automatically.

Next: Chapter 7: Manage different app versions