在 EAS 上创建开发构建

编辑

了解如何为项目创建开发构建。


当你使用 npx create-expo-app 创建一个新的 Expo 应用时,你会得到一个项目,在本地机器上更新 JavaScript 代码并在 Expo Go 应用中查看更改。一个 development build 本质上是 你自己版本的 Expo Go,你可以自由使用任何原生库并修改任何原生配置。在本指南中,你将学习如何将运行在 Expo Go 上的项目转换为 development build,从而使应用的原生端完全可定制。

如何创建开发构建
如何创建开发构建

先决条件

这些说明假设你已经有一个可在 Expo Go 上运行的现有 Expo 项目。

构建原生应用的要求取决于你使用的平台、你要构建的平台,以及你是想在 EAS 上构建还是在本地机器上构建。

在 EAS 上构建

这是构建原生应用的最简单方式,因为它不需要你这边的原生构建工具。这些构建是在 EAS 服务器上完成的,因此可以从非 macOS 平台触发 iOS 构建。

AndroidiOS 模拟器iPhone 设备
macOS (*)
Windows (*)
Linux (*)

(*) 所有在 iPhone 设备上运行的构建都需要一个付费的 Apple Developer 账户来进行构建签名。

使用 EAS CLI 在本地构建

任何 EAS CLI 命令都可以在本地计算机上使用 --local 标志进行构建。这要求您的本地 开发环境 已经安装并设置了原生构建工具。了解更多关于 本地应用开发 的内容。

AndroidiOS 模拟器iPhone 设备
macOS(*)
Windows(**)
Linux

(*) 运行在 iPhone 设备上的所有构建都需要付费的 Apple Developer 账户用于构建签名。

(**) 虽然没有一等支持,但可以通过 WSL 实现。

在本地构建,不依赖 EAS

要在本地不使用 EAS 进行构建,需要在本地的 开发环境 中设置原生构建工具。这是唯一在没有付费 Apple Developer 账户的情况下,在 iPhone 设备上测试 iOS 构建的方法(仅在 macOS 上可能)。了解更多关于 本地应用编译 的信息,并查看 Expo Go 到 Development Build 指南。

AndroidiOS 模拟器iPhone 设备
macOS
Windows
Linux

开始使用

如需详细的分步说明,请参阅我们的 EAS Tutorial。也可在 YouTube 上作为 教程系列观看。

1

安装 expo-dev-client

Terminal
npx expo install expo-dev-client
您是否在现有的(空的)React Native 应用中使用这个库?

使用 Continuous Native Generation 的应用程序或使用 npx react-native 创建的应用,在安装此库后需要进一步配置。请参阅来自 在现有 React Native 应用中安装 expo-dev-client 的步骤 1 和 2。

2

构建原生应用程序(Android)

Prerequisites

3 requirements

1.

Expo account

如果尚未,请注册一个 Expo 账户。

2.

EAS CLI

EAS CLI 已安装并已登录。

Terminal
npm install -g eas-cli && eas login

3.

An Android Emulator (optional)

如果你想在模拟器上测试应用,可以使用 Android Emulator,这是可选的。

Terminal
eas build --platform android --profile development

了解更多关于 在 EAS 上进行 Android 构建

2

构建原生应用(iOS 模拟器)

Prerequisites

3 requirements

1.

Expo 账户

Sign up for an Expo account, if you haven't already.

2.

EAS CLI

The EAS CLI installed and logged in.

Terminal
npm install -g eas-cli && eas login

3.

安装了 iOS 模拟器的 macOS

iOS Simulators are available only on macOS. Make sure you have the iOS Simulator installed.

development 配置文件中编辑 eas.json,将 simulator 选项设为 true(如果你也想为该项目创建 iOS 设备构建,请为模拟器构建创建一个单独的配置文件。)

eas.json
{ "build": { "development": { "ios": { "simulator": true } } } }
Terminal
eas build --platform ios --profile development

iOS 模拟器构建只能安装在模拟器上,不能安装到真实设备。

阅读更多关于 iOS Simulator builds on EAS

2

构建本地应用(iOS 设备)

Prerequisites

3 requirements

1.

Expo 账户

如果还没有,请注册一个 Expo 账户。

2.

EAS CLI

EAS CLI 已安装并已登录。

Terminal
npm install -g eas-cli && eas login

3.

Apple 开发者账户

一个用于创建 [签名] 的付费 Apple Developer 账户 凭据](/app-signing/managed-credentials/#generating-app-signing-credentials) 以便应用程序能够安装到 iOS 设备上。

Terminal
eas build --platform ios --profile development

iOS 设备构建只能安装在 iPhone 设备上,不能安装在 iOS 模拟器上。

了解更多关于 在 EAS 上的 iOS 设备构建

3

安装应用

您需要在您的设备、模拟器或仿真器上安装原生应用。

在 EAS 上构建

如果你在 EAS 上进行开发构建,CLI 将在构建完成后提示你安装应用。你也可以从 expo.dev 仪表板或使用 Expo Orbit 安装先前的构建版本。

使用 EAS CLI 本地构建时

本地构建的输出将是一个归档文件。你可以将其拖放到 Android 模拟器/ iOS 模拟器上进行安装,或使用 Expo Orbit 从本地计算机安装构建版本。

4

启动打包器

步骤 2 构建的开发客户端是你应用的本地端(基本相当于你自己的 Expo Go 版本)。为了继续开发,你还需要启动 JavaScript 打包器。

根据你构建应用的方式,打包器可能已经在运行,但如果出于某种原因你关闭了进程,则无需重新构建你的开发客户端。只需使用以下命令重新启动 JavaScript 打包器:

Terminal
npx expo start

这与你在 Expo Go 时使用的命令相同。它会检测你的项目是否安装了 expo-dev-client,在这种情况下,它将默认以开发构建为目标,而不是 Expo Go。

视频演练

"EAS 教程系列"

一个 YouTube 课程:学习如何用 Expo Application Services 加速开发。

"Async Office Hours: 如何使用 EAS Build 构建开发版本"

在本视频教程中,由开发者成功工程师 Keith Kurak 主持,学习如何使用 EAS Build 进行开发构建。