Skip to content

如何使用 expo-dev-client 构建和分发自定义开发客户端

解决 Expo Go 无法支持自定义原生模块的问题:通过 EAS Build 构建专用的开发客户端(Development Client),让开发者能在真机或模拟器上运行包含自定义原生代码的 App。

为什么需要这个技能

大多数 Expo 项目可以通过 Expo Go 快速启动,但当你需要引入 Expo Go 不内置的第三方原生库、编写自定义原生模块(Local Expo Modules),或者需要配置 Apple Widgets 和 App Clips 时,Expo Go 就不再适用。

expo-dev-client 允许你创建一个“自定义版本的 Expo Go”。它将你的原生依赖打包进一个独立的二进制文件中,同时保留了 Expo 的热更新和开发服务器连接能力,确保你在开发环境下依然能享受快速迭代的体验。

适用场景

  • 依赖了需要原生链接(Linking)的第三方 npm 包。
  • 需要开发 iOS 桌面小组件、App 扩展或 Android 特定原生功能。
  • 需要在物理设备上测试包含原生代码变更的分支版本。
  • 需要通过 TestFlight 分发开发版 App 供团队成员内测。

核心工作流

1. 配置 EAS 环境

eas.json 中定义开发配置文件,确保 developmentClient 设为 true

json
{
  "build": {
    "development": {
      "developmentClient": true,
      "autoIncrement": true
    }
  }
}

2. 构建与分发

你可以选择在云端构建并直接提交至 TestFlight,或在本地构建:

云端构建并提交 iOS TestFlight:

bash
eas build -p ios --profile development --submit

本地构建(需本地安装 Xcode/Android Studio):

bash
# iOS
eas build -p ios --profile development --local
# Android
eas build -p android --profile development --local

3. 安装与运行

安装构建产物(.ipa.apk)到设备后,启动 Metro 服务:

bash
npx expo start --dev-client

随后在设备上的开发客户端中扫描二维码或输入 URL 即可连接。

下载和安装

下载 expo-dev-client 中文版 Skill ZIP

解压后将目录放入你的 AI 工具 skills 文件夹,重启工具后即可使用。具体路径参考内附的 USAGE.zh.md

你可能还需要

暂无推荐