内部分发
编辑页面
了解 EAS Build 如何为你的构建提供可共享的 URL,以便与你的团队进行内部分发。
For the complete documentation index, see llms.txt. Use this Use this file to discover all available pages.
使用 EAS Build 设置内部发布构建只需几分钟,并提供了一种简化的方式,让你与团队和其他测试人员共享应用以收集反馈。它通过提供一个 URL 来实现这一点,允许他们将应用直接安装到自己的设备上。如果你还不确定是否要采用这种方式,并且想了解内部发布应用的所有可用选项,请参阅 用于审核的应用发布概览 指南。
使用内部发布
要为内部发布配置构建配置文件,请将 "distribution": "internal" 设置在该配置文件上。当你设置此配置时,它会对构建配置文件产生以下影响:
- Android:
gradleCommand的默认行为将变为生成 APK 而不是 AAB。如果你指定了自定义的gradleCommand,请确保它 生成 APK,否则它将无法直接安装到 Android 设备上。此外,EAS Build 会为 APK 签名生成新的 Android keystore,或者如果包名与你的 开发构建 相同,则会使用现有的 keystore。 - iOS:使用此配置文件的构建将使用 ad hoc 或 enterprise provisioning 之一。在使用 ad hoc provisioning 时,EAS Build 会生成一个包含设备 UDID 允许列表的 provisioning profile,只有在构建时位于该列表中的设备才能安装它。你可以通过运行
eas device:create并创建一个新构建来添加设备。 - 默认情况下,内部发布构建 URL 对任何拥有该 URL 的人都可用,每个 URL 由一个 32 字符的 UUID 标识。如果你希望仅允许已授权的 Expo 账户登录后访问这些构建,可以在你的 项目设置 中禁用 未认证访问内部构建 选项。
有关如何配置、创建和安装构建的更多信息,请参阅下面的 EAS Build 内部发布教程:
完整的分步指南,介绍如何使用 EAS Build 设置并共享内部发布构建。
CI 上的自动化(可选)
可以使用 --non-interactive 标志在 CI 中以非交互方式运行内部发布构建。但是,如果你在 iOS 上使用 ad hoc provisioning,在使用此标志时将无法向 provisioning profile 添加新设备。在通过 eas device:create 注册设备后,你需要交互式运行 eas build 并使用 Apple 进行身份验证,以便 EAS 将该设备添加到你的 provisioning profile 中。了解更多关于从 CI 触发构建的信息。
管理设备
你可以通过运行以下命令查看通过 eas device:create 注册的任何设备:
# 列出已注册用于 ad hoc provisioning 的设备- eas device:list使用 Expo 为 ad hoc provisioning 注册的设备,在它们被用于通过 EAS Build 生成一个新的内部构建的 provisioning profile,或通过 eas build:resign 重新签名现有构建 后,将会出现在你的 Apple Developer Portal 中。
移除设备
如果某个设备已不再使用,可以通过运行以下命令将其从此列表中移除:
# 从你的 Expo 账户中删除设备,并可选择在 Apple Developer Portal 上将其禁用- eas device:delete此命令还会提示你是否要在 Apple Developer Portal 上禁用该设备。已禁用的 设备仍然会计入 Apple 每个应用每年最多 100 台设备的限制 ,适用于 ad hoc 分发。
重命名设备
通过网站 URL/二维码添加的设备,在选择用于 EAS Build 时,默认会显示其 UDID。你可以使用以下命令为设备指定更友好的名称:
# 在 Expo 和 Apple Developer Portal 上重命名设备- eas device:rename发布机制概览
以下是内部发布支持的、用于将应用分发到设备的不同机制。
Android:构建并分发 APK
要将应用共享到 Android 设备,你必须为项目构建一个 APK(Android application package 文件)。一旦用户接受了安装尚未经过 Play Store 审核的应用的安全警告,就可以通过 USB 直接将 APK 安装到 Android 设备上,也可以通过网页下载文件,或通过电子邮件或聊天应用进行安装。应用的 AAB(Android app bundle)二进制文件必须通过 Play Store 分发。
iOS:Ad Hoc 分发
Apple 提供了 ad hoc provisioning profiles,用于在测试设备注册到你的 Apple Developer 账户后,将应用分发给这些设备。此方法需要付费的 Apple Developer 账户,并且该账户每年最多只能使用此方法向 100 台 iPhone 分发应用。
你需要知道每台将安装你的应用的设备的 UDID(唯一设备标识符),如果你尝试与非开发者共享,这可能会比较麻烦。添加新设备将需要重新构建你的应用,或使用新的凭据 重新签名构建。
如果你以前没有做过,正确设置 Ad Hoc 证书可能会让人望而生畏;即使做过,也会很繁琐。如果你正在使用 EAS Build,它针对 Expo 和 React Native 项目进行了优化,我们会帮你处理设置 Ad Hoc 凭据中耗时的部分。
iOS:Enterprise 分发
如果你的应用仅供大型组织的员工内部使用,且无法通过 App Store 分发,你应该使用 Enterprise 分发。与 Ad Hoc Distribution 不同,能够安装你应用的设备数量没有限制,而且你无需管理每台设备的 UDID。通常,这些应用会通过移动设备管理(MDM)解决方案分发给最终用户。Enterprise Distribution 需要加入 Apple Developer Enterprise Program。加入 Enterprise Program 的组织必须满足除 App Store 分发之外的额外要求。