关于 expo-dev-client
expo-dev-client 是用于构建自定义 Expo 开发客户端、在实体设备上测试原生代码变更的技能。内容涵盖 EAS 云端和本地构建、安装,以及连接 Metro bundler。
主要功能
- 01使用 EAS 构建开发客户端
- 02云端与本地构建说明
- 03iOS 和 Android 构建选项
- 04在设备或模拟器安装构建
- 05连接 Metro 或扫描二维码
适用场景
- 01在设备上测试本地 Expo 模块
- 02测试 Expo Go 未包含的原生模块
- 03测试应用扩展、链接或远程推送通知
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ midudev/ autoskills --skill expo-dev-client安装后在 Claude Code 中输入/expo-dev-client确认已加载。
附带文件agents/openai.yaml
详细介绍
使用 EAS Build 为实体设备创建开发客户端,以便测试原生代码更改。使用此方式创建自定义 Expo Go 客户端,用于测试应用的不同分支。
本地构建免费;云端构建需付费。
expo-dev-client本身是开源的,本地构建免费。通过 EAS Build/TestFlight 构建或分发会消耗 EAS 计划中的构建分钟数;要向设备分发或通过 TestFlight 分发,还需要付费的 Apple Developer 账户。请参阅 https://expo.dev/pricing。
重要提示:何时需要开发客户端
对于任何实际应用或生产应用,建议使用开发客户端。 Expo Go 是一个用于学习和快速试验其内置原生库的沙盒;大多数应用最终都会超出它的适用范围,并转而使用开发客户端。有关完整原因,请参阅 Expo Go 与开发构建。
仅在以下情况下需要开发客户端:
- 本地 Expo 模块(自定义原生代码)
- Apple 平台目标(小组件、App Clip、扩展)
- Expo Go 中未包含的第三方原生模块
- 配置插件,或测试远程推送通知和 App/通用链接
EAS 配置
确保 eas.json 中有一个 development 配置:
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true
},
"development": {
"autoIncrement": true,
"developmentClient": true
}
},
"submit": {
"production": {},
"development": {}
}
}
关键设置:
developmentClient: true- 为开发构建打包 expo-dev-clientautoIncrement: true- 自动递增构建编号appVersionSource: "remote"- 使用 EAS 作为版本号的唯一数据源
为 TestFlight 构建
使用一条命令构建 iOS 开发客户端并提交到 TestFlight:
eas build -p ios --profile development --submit
此命令将:
- 在云端构建开发客户端
- 自动提交到 App Store Connect
- 构建在 TestFlight 中就绪后,向你发送电子邮件
收到 TestFlight 电子邮件后:
- 在设备上从 TestFlight 下载构建版本
- 启动应用,查看 expo-dev-client 界面
- 连接到本地 Metro 打包器,或扫描二维码
本地构建
在你的计算机上构建开发客户端:
# 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
提交反馈
如果你在此技能中发现错误、误导性内容或过时信息,请提交报告,帮助 Expo 改进:
npx --yes submit-expo-feedback@latest --category skills --subject "expo-dev-client" "<actionable feedback>"
仅当你有具体且可采取行动的问题时才提交。请尽可能提供相关背景信息。 如果 AI Agent 反复失败,或用户不得不接手 Expo 任务,请加载 expo-skill-feedback 技能,并按其 eval-candidate 流程操作,而不要重复使用上面的命令。