使用Maestro启动Expo应用时显示“Development Build”的问题求助
Expo SDK 49 + Maestro E2E测试:"Development Build"页面问题解析与解决
1. 什么是"Development Build"页面?
这是Expo开发构建模式下的默认占位页,当应用无法正确加载核心业务代码时显示。它本质是Expo的提示页,说明当前处于开发构建状态,但未完成应用代码的加载流程。
2. 出现的原因
- 开发服务器连接失败:
eas build --profile development生成的开发构建包,需要主动连接本地Expo开发服务器才能拉取应用代码。Maestro启动应用时,没有自动建立这个连接,导致停留在占位页。 - 构建方式差异:
npx expo run:android是本地实时编译,会自动关联本地开发服务器;而eas build生成的是独立安装包,默认不会自动绑定服务器地址,需要手动配置。 - EAS配置缺失:如果
eas.json的development profile未正确配置developmentClient或服务器地址参数,构建包无法自动触发代码加载流程。
3. 解决方法
方法一:手动关联开发服务器
- 先启动本地Expo开发服务器:
npx expo start --dev-client --host 0.0.0.0 - 在测试设备/emulator上手动打开你用
eas build生成的APK,选择连接到本地服务器(确保设备和电脑在同一网络),确认应用能正常加载后,再运行Maestro测试命令。
方法二:调整EAS构建配置
修改项目根目录的eas.json,给development profile添加服务器地址配置:
{ "build": { "development": { "developmentClient": true, "distribution": "internal", "android": { "gradleCommand": ":app:assembleDebug" }, "env": { "EXPO_DEV_SERVER_URL": "http://你的本地IP:8081" } } } }
重新构建安装包:
eas build --profile development --platform android
方法三:使用本地编译的APK测试
既然npx expo run:android能正常运行,直接用它生成的APK给Maestro测试:
- 运行
npx expo run:android完成编译,APK文件路径通常为:android/app/build/outputs/apk/debug/app-debug.apk - 安装APK到测试设备:
adb install android/app/build/outputs/apk/debug/app-debug.apk - 启动Expo开发服务器后,直接执行Maestro测试命令即可。
内容的提问来源于stack exchange,提问作者monty_lennie
相关产品推荐
相关产品推荐

