在云端配置开发构建

编辑

了解如何使用 EAS Build 为项目配置开发构建。


在本章中,我们将为我们的示例应用设置并配置 EAS 的开发构建。

观看:如何配置开发构建
观看:如何配置开发构建

理解开发构建

让我们先了解什么是开发构建,以及为什么我们需要它们。

开发构建 是我们项目的调试版本。它已优化以便在创建应用时快速迭代。它包含 expo-dev-client 库,提供了一个强大而完整的开发环境。该设置允许我们根据需要集成任何本地库或更改 本地目录 内的代码。

关键亮点

注意: 如果您熟悉 Expo Go,可以将开发构建视为根据项目要求定制的 Expo Go 版本。

特性开发构建Expo Go
开发阶段为移动应用开发提供类似 Web 的快速迭代速度。允许通过客户端应用快速迭代和测试 Expo SDK 项目。
协作促进团队测试,具有共享的本地运行时。通过设备二维码轻松共享项目。
第三方库支持完全支持任何 第三方库,包括需要自定义本地代码的库。限于 Expo SDK 内的库,不适合自定义本地依赖项。
定制化通过 配置插件 进行广泛定制,并可直接访问本地代码。定制化有限,专注于 Expo SDK 能力,而无直接的本地代码修改。
预期用途适用于面向商店部署的完整应用开发,提供完整的开发环境和工具。适合学习、原型设计和实验。不推荐用于生产应用。

1

安装 expo-dev-client 库

要为开发构建初始化我们的项目,让我们在项目目录中 cd 并运行以下命令来安装库:

Terminal
npx expo install expo-dev-client

启动开发服务器

运行 npx expo start 来启动 开发服务器:

Terminal
npx expo start

该命令启动 metro 打包器。在终端窗口中,我们看到二维码,后面跟着 Metro waiting on... 和一个清单 URL:

我们来注意安装 expo-dev-client 库的变化:

  • 清单 URL 包含了 expo-development-client 以及应用程序方案
  • 开发服务器现在针对开发构建(而不是 Expo Go)运行。

由于我们没有在其中一个设备或模拟器/仿真器上安装开发构建,因此我们还不能运行我们的项目。

2

初始化开发构建

安装 EAS CLI

我们需要在本地机器上作为全局依赖项安装 EAS 命令行界面(CLI)工具。运行以下命令:

Terminal
npm install -g eas-cli

登录或注册 Expo 账户

如果您有 Expo 账户并通过 Expo CLI 登录,请跳过此步骤。如果您没有 Expo 账户,请 在这里注册 并继续执行下面的登录命令。

要登录,请运行以下命令:

Terminal
eas login

该命令要求输入我们 Expo 账户的邮箱或用户名和密码以完成登录。

初始化并链接项目到 EAS

对于任何新项目,第一步是初始化并将其链接到 EAS 服务器。运行以下命令:

Terminal
eas init

运行此命令时:

  • 请求通过输入我们的 Expo 账户凭据验证账户所有者,并询问我们是否想要为 @your-username/sticker-smash 创建一个新 EAS 项目:
Terminal
# 运行 eas init 后的输出✔ Which account should own this project? > your-username✔ Would you like to create a project for @your-username/sticker-smash? … yes✔ Created @your-username/sticker-smash✔ Project successfully linked (ID: XXXX-XX-XX-XXXX) (modified app.json)
  • 创建 EAS 项目,并提供我们可以在 EAS 仪表板中打开的项目链接:
  • 生成唯一的 projectId 并将该 EAS 项目链接到我们开发机器上的示例应用。
  • 修改 app.json 以包含 extra.eas.projectId 并用创建的唯一 ID 更新其值。
在 app.json 中 projectId 是什么?

eas init 运行时,它在 app.json 中的 extra.eas.projectId 下关联了一个唯一标识符。该属性的值用于识别我们在 EAS 服务器上的项目。

{ "extra": { "eas": { "projectId": "0cd3da2d-xxx-xxx-xxx-xxxxxxxxxx" } } }

3

为 EAS Build 配置项目

要为 EAS Build 设置我们的项目,运行以下命令:

Terminal
eas build:configure

运行该命令时:

  • 提示选择一个平台:AndroidiOS全部。由于我们正在创建 Android 和 iOS 应用,所以选择 全部
  • 在项目目录的根部创建 eas.json,并进行以下配置:
eas.json
{ "cli": { "version": ">= 16.18.0", "appVersionSource": "remote" }, "build": { "development": { "developmentClient": true, "distribution": "internal" }, "preview": { "distribution": "internal" }, "production": { "autoIncrement": true } }, "submit": { "production": {} } }

这是新项目中 eas.json 的默认配置。它完成两个任务:

  • 定义当前的 EAS CLI 版本。
  • 添加三个 构建配置文件developmentpreviewproduction
进一步探索开发配置文件

eas.json 是不同构建配置文件的集合。每个配置文件均具有独特的配置,以生成特定的构建类型。这些配置文件还可以包括 Android 或 iOS 的平台特定设置。

目前,我们的重点是 development 配置文件,其中包括以下配置:

  • developmentClient:启用 (true) 以创建调试构建。它使用 expo-dev-client 库加载应用,提供开发工具并生成用于设备或模拟器/仿真器安装的构建工件,并允许在本地开发中使用该应用,因为它支持即时更新 JavaScript。
  • distribution:配置为 internal,以表明我们希望内部共享构建(而不是将其上传到应用商店)。

注意:构建提供广泛的自定义选项,包括平台特定设置,以及能够在不同的构建配置文件之间扩展配置。了解更多关于 自定义构建配置文件

总结

第一章:配置云端开发构建

我们成功地使用 EAS CLI 初始化并配置了我们的项目,将其链接到 EAS 服务器,并准备了一个开发构建。

在下一章中,我们将为 Android 创建一个开发构建,在设备和模拟器上安装,并通过开发服务器运行它。

Next: 为 Android 创建并运行云构建