关于 expo-dev-client
使用 EAS Build 创建和排查 Expo 开发客户端的技能,适用于测试依赖原生代码的应用变更,涵盖本地构建、安装、平台配置和连接 Metro 开发服务器。
主要功能
- 01配置开发构建配置文件
- 02构建 iOS 和 Android 应用
- 03安装本地构建产物
- 04连接 Metro 开发服务器
- 05查看构建状态并排查问题
适用场景
- 01测试本地 Expo 模块
- 02试用 Expo Go 未包含的原生模块
- 03为设备构建开发客户端
- 04将客户端连接到 Metro 服务器
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill expo-dev-client安装后在 Claude Code 中输入/expo-dev-client确认已加载。
附带文件agents/openai.yaml
详细介绍
使用 EAS Build 为实体设备创建开发客户端,以测试原生代码更改。可用此方法创建自定义 Expo Go 客户端,用于测试应用的不同分支。
重要提示:何时需要开发客户端
对于任何实际应用或生产应用,建议使用开发客户端。 Expo Go 是一个用于学习和快速试验其内置原生库的沙盒;大多数应用发展到一定阶段后都会转用开发客户端。有关详细原因,请参阅 Expo Go 与开发构建。
仅在以下情况下需要开发客户端:
- 本地 Expo 模块(自定义原生代码)
- Apple 目标(小组件、App Clip、扩展)
- Expo Go 未包含的第三方原生模块
- 配置插件,或测试远程推送通知和 App/Universal 链接
EAS 配置
确保 eas.json 包含开发配置:
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true
},
"development": {
"autoIncrement": true,
"developmentClient": true,
"distribution": "internal"
}
},
"submit": {
"production": {},
"development": {}
}
}
关键设置:
developmentClient: true- 在开发构建中打包 expo-dev-clientautoIncrement: true- 自动递增构建编号appVersionSource: "remote"- 使用 EAS 作为版本号的事实来源
分发选项
开发构建通常通过内部/临时分发安装(实体 iOS 设备必须先注册),也可以使用明确指定的模拟器配置。对于 TestFlight,请使用单独的商店分发构建/配置,并遵循当前的 Expo/App Store Connect 文档;不要将开发客户端配置作为常规开发构建步骤提交。提交会将构建产物发布到外部账户,并需要用户提供相应授权。
对于模拟器,请在单独选定的开发配置中添加 ios: { "simulator": true }。已签名的设备 .ipa 并非模拟器 .app 归档。安装前请确认具体配置、目标和输出类型。云端构建可能会消耗配额并使用签名凭证。
本地构建
在本机上构建开发客户端:
# iOS (requires Xcode)
eas build -p ios --profile development --local
# Android
eas build -p android --profile development --local
本地构建会输出:
- iOS:
.ipa文件 - Android:
.apk或.aab文件
安装本地构建
在模拟器上安装 iOS 构建:
# Find the .app in the .tar.gz output
tar -xzf build-*.tar.gz
xcrun simctl install booted ./path/to/App.app
在设备上安装 iOS 构建(需要签名):
# Use Xcode Devices window or ideviceinstaller
ideviceinstaller -i build.ipa
安装 Android 构建:
adb install build.apk
针对特定平台构建
# iOS only
eas build -p ios --profile development
# Android only
eas build -p android --profile development
# Both platforms
eas build --profile development
检查构建状态
# List recent builds
eas build:list
# View build details
eas build:view
使用开发客户端
安装后,开发客户端会提供:
- 开发服务器连接 - 输入 Metro 打包器 URL 或扫描二维码
- 构建信息 - 查看原生构建详情
- 启动器界面 - 切换开发服务器
连接到本地开发环境:
# Start Metro bundler
npx expo start --dev-client
# Scan QR code with dev client or enter URL manually
故障排除
构建因签名错误而失败:
eas credentials
清除构建缓存:
eas build -p ios --profile development --clear-cache
检查 EAS CLI 版本:
eas --version
# EAS Update publishes app updates; it is not a CLI version check.
限制
- 仅当任务明确符合其上游产品或 API 范围时,才使用此技能。
- 更改前,请依据当前官方文档核实命令、API 行为、定价、配额、凭证和部署影响。
- 不要将生成的示例视为特定环境测试、安全审查或用户批准破坏性或高成本操作的替代品。
何时使用
在创建或排查经授权的 Expo 开发构建时使用;此类构建需要原生模块或开发客户端行为。