This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.
开发构建简介
编辑页面
了解如何在 Expo 项目中创建开发构建,以及为何使用开发构建而不是 Expo Go。
使用 AI agent 创建开发构建
将此内容粘贴到 Claude、Cursor、Codex 或其他 agent 中。
本地构建
为我的 Expo 项目设置开发构建,并在我的机器上编译。 运行 `npx expo install expo-dev-client`,然后针对我指定的平台运行 `npx expo run:android` 或 `npx expo run:ios`。添加 `--device` 以安装到实体设备上。构建安装完成后,使用 `npx expo start` 启动开发服务器。 首次运行 `npx expo prebuild --clean`,完成开发构建设置。之后,每当原生依赖或应用配置发生变化,需要重新构建前,使用相同的命令。使用此项目已有的包管理器,并报告运行了哪些命令。 有关开发构建的介绍,请参阅 https://docs.expo.dev/develop/development-builds/introduction/?buildenv=build-locally。
使用 EAS 构建
为我的 Expo 项目设置开发构建,并在 EAS 上构建。 运行 `npx expo install expo-dev-client`。检查是否已安装 eas-cli,以及我是否已登录。如果项目中没有 eas.json,则创建一个包含 development 配置的 eas.json。对于 iOS Simulator 构建,先在该配置中将 `ios.simulator` 设为 true。然后暂停并询问我:“所有内容均已安装。现在要开始构建吗?”等待我的答复。我回答是之后,针对我指定的平台运行 `eas build --platform <platform> --profile development`。 当 CLI 提示时,将已完成的构建安装到 Android Emulator 或 iOS Simulator(我指定的平台)上,然后使用 `npx expo start` 启动开发服务器。使用此项目已有的包管理器,并报告运行了哪些命令。 有关开发构建的介绍,请参阅 https://docs.expo.dev/develop/development-builds/introduction/?buildenv=build-with-eas。
使用 EAS CLI 本地构建
为我的 Expo 项目设置开发构建,并在我自己的机器上运行 EAS 构建。 运行 `npx expo install expo-dev-client`。检查是否已安装 eas-cli,以及我是否已登录。如果项目中没有 eas.json,则创建一个包含 development 配置的 eas.json。对于 iOS Simulator 构建,先在该配置中将 `ios.simulator` 设为 true。然后暂停并询问我:“所有内容均已安装。现在要开始构建吗?”等待我的答复。我回答是之后,针对我指定的平台运行 `eas build --platform <platform> --profile development --local`。 将生成的 .apk 或 .app 归档安装到我的模拟器上,然后使用 `npx expo start` 启动开发服务器。使用此项目已有的包管理器,并报告运行了哪些命令。 有关开发构建的介绍,请参阅 https://docs.expo.dev/develop/development-builds/introduction/?buildenv=eas-cli-local。
当你使用 create-expo-app 创建新的 Expo 应用时,你会获得一个项目,可以在本地计算机上更新 TypeScript/JavaScript 代码,并在 Expo Go 应用中查看更改。开发构建本质上是你自己的 Expo Go 版本,你可以自由使用任何原生库并更改任何原生配置。
当你想创建自己的应用并将其发布到应用商店时,建议使用开发构建。它包含 expo-dev-client 库,用于增强内置的 React Native 开发工具。该工具还支持检查网络请求,以及提供一个"启动器"界面,让你可以在不同的开发服务器之间切换(例如在运行于你自己的计算机上的服务器与运行于队友计算机上的服务器之间切换),还可以在应用的不同部署版本之间切换(例如使用 EAS Update 发布的更新)。

在本教程视频中,Beto 将解释它们各自是什么,以及何时应选择开发构建。
你想如何构建开发构建版本?
这三种方法都会生成相同的开发构建版本。它们的区别在于应用在哪里进行编译,以及你的计算机上需要安装哪些内容。
在本地构建
使用 Expo CLI 和您的原生工具链自行编译应用。无需 Expo 帐户,这是在没有付费 Apple Developer 帐户的情况下将开发版本安装到 iPhone 上的唯一方式。
主机平台支持
1 requirement
1 requirement
为您要构建的平台设置开发环境:Android 请使用 Android Studio 和 模拟器,iOS 请使用 Xcode 和 iOS 模拟器。
1
安装 expo-dev-client
在项目的根目录中运行以下命令:
您是否在现有的 React Native 项目中使用此库?
不使用持续原生生成或通过 npx react-native 创建的应用,在安装此库后需要进行进一步配置。请参阅在现有 React Native 项目中安装 expo-dev-client中的步骤 1 和 2。
开发版本是什么样的?
无需使用
expo-dev-client库也可以使用开发版本。在这种情况下,请使用npx expo start --dev-client启动开发服务器,以将目标设为您的开发版本,而不是 Expo Go。
2
3
原生代码发生更改时重新构建
expo run:android|ios 命令会在后续运行中复用原生 android 和 ios 目录。当您只更改应用的 TypeScript/JavaScript 代码时,无需重新构建原生应用。相反,请使用以下命令启动开发服务器:
只有在以下情况下,您才需要重新生成原生目录(android 和 ios):
在这些情况下,请使用以下命令重新生成原生目录:
然后使用更新后的原生代码重新构建应用:
如果不存在原生目录,所有 Expo 构建工具(
npx expo run:android|ios和eas build)都会自动运行 prebuild,因此首次运行时无需手动执行。详细了解持续原生生成(CNG)。
安装开发版本后
从设备的主屏幕启动开发版本,并在启动器屏幕中连接到开发服务器,以开始开发应用。要了解如何使用新的开发版本,包括启动器屏幕、重新构建和调试,请参阅使用开发版本。如需了解有关开发版本和 Expo Go 的常见问题,包括在 Expo Go 中无法执行的操作及其原因,请参阅常见问题。
面向 AI 代理的 Expo Skills
如果你使用 AI 代理,请安装 Expo Skills,以教会它本页面中的工作流程:
Build and distribute Expo development clients locally or via TestFlight for internal testing.
Run and control a user's app on a remote iOS/Android simulator hosted on EAS cloud.