You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

通过EAS构建的Expo APK在USB连接的安卓设备运行时出现Metro错误

通过EAS构建的Expo APK在USB连接的安卓设备运行时出现Metro错误

看起来你遇到的问题有点反常哦——用EAS构建的独立APK理论上是不依赖Metro服务器的,毕竟它是已经打包好的离线应用,本该直接就能运行。不过既然弹出了这个需要连接Metro的提示,咱们可以一步步排查解决:

  • 先确认你构建的是正式独立包,而非调试构建。要是你用了类似eas build --profile development这类调试命令,生成的包会默认依赖Metro做热更新调试。可以核对下构建时的命令,或者打开eas.json检查对应profile的配置,确保用的是production这类不依赖Metro的构建配置。

  • 如果你确实用的是正式构建,那试试彻底重装APK:先卸载设备上已有的旧版本,清理下设备的应用缓存,再重新安装新构建的包,避免旧缓存残留导致的异常。

  • 检查USB连接模式,确保设备处于文件传输(MTP)模式,而非仅充电或其他模式。虽然这个和Metro提示的直接关联不大,但排除下连接层面的问题总没坏处。

  • 还有个可能:如果你的项目里开启了动态热更新配置,或者有部分代码是动态加载的,可能导致构建时没把所有资源打包进APK。可以检查app.json/expo.json里的updates配置,正式构建时要把调试相关的热更新选项关掉。

要是上面的方法都没解决,你可以试试清理项目缓存后重新构建:

npx expo prebuild --clean
rm -rf node_modules && npm install
eas build --platform android --profile production

内容来源于stack exchange

火山引擎 最新活动