用途:当应用需要自定义原生代码时,用 EAS Build 创建 Expo 开发客户端,在真机上测试原生改动,或为应用分支创建自定义客户端。
何时需要:仅当应用使用本地 Expo 模块(自定义原生代码)、Apple 目标(小组件、App Clip、扩展)或 Expo Go 不支持的第三方原生模块时才需要。多数应用可直接用 Expo Go,先运行 npx expo start 测试,若一切正常则无需 dev client。
EAS 配置:确保 eas.json 含 development 配置,关键项为 developmentClient: true(打包 expo-dev-client)、autoIncrement: true(自动递增构建号)、appVersionSource: "remote"(以 EAS 为版本号来源)。
构建与分发:一条命令构建 iOS 开发客户端并提交 TestFlight:eas build -p ios --profile development --submit。收到 TestFlight 邮件后,在设备上下载并启动,即可看到 expo-dev-client UI,连接本地 Metro 或扫描二维码。
本地构建:iOS 用 eas build -p ios --profile development --local(需 Xcode),Android 用 eas build -p android --profile development --local。产物为 iOS 的 .ipa、Android 的 .apk 或 .aab。安装方式:模拟器用 xcrun simctl install booted ./path/to/App.app,真机用 ideviceinstaller -i build.ipa,Android 用 adb install build.apk。
平台与状态:可指定 -p ios、-p android 或同时构建;用 eas build:list 查看构建、eas build:view 查看详情。
使用客户端:安装后提供开发服务器连接(输入 Metro URL 或扫码)、构建信息查看、启动器 UI 切换服务器。连接本地开发:npx expo start --dev-client,再扫码或手动输入 URL。
排错:签名错误用 eas credentials;清缓存用 eas build -p ios --profile development --clear-cache;用 eas --version 和 eas update 检查 CLI 版本。
限制:资料未提供收费、价格、平台支持范围等更多信息。