Expo-Go正常运行的React Navigation v6应用EAS Build打包后卡在加载页
Expo APK卡在启动加载组件的排查方案
针对你遇到的Expo SDK46 Android构建APK后卡在加载组件(负责启动数据获取与用户认证)、但Expo Go正常的问题,可按以下步骤排查:
核对环境配置差异:Expo Go与构建APK的环境变量可能不一致,比如API地址、认证密钥。确认preview2配置对应的环境变量是否正确,尤其注意本地开发API在APK中需使用局域网IP或公网地址,而非localhost。
抓取设备错误日志:用adb命令获取Android设备的错误日志,定位具体阻塞原因:
adb logcat *:E重点关注React Native相关的未捕获异常、网络请求失败、存储读写错误等信息,这类问题在Expo Go中可能被掩盖,但会导致APK流程停滞。
检查异步逻辑的错误处理:确认加载组件中的认证/数据请求逻辑是否有未处理的错误分支:
- 比如fetch请求未添加catch块,导致Promise一直处于pending状态,无法触发页面跳转
- 认证逻辑的条件判断是否在APK环境下触发了死循环或未满足跳转条件
验证Android权限配置:检查app.json/app.config.js中是否开启了必要权限,比如网络权限:
{ "android": { "permissions": ["INTERNET"] } }若使用自签名HTTPS接口,需确认证书是否被Android系统信任,否则会导致请求失败。
排查eas.json配置:确认preview2的buildType配置正确,无额外异常配置:
{ "build": { "preview2": { "android": { "buildType": "apk" } } } }可尝试切换到默认preview构建profile,排除配置本身的问题。
逐步简化测试:临时将加载组件替换为直接跳转首页的最简逻辑,验证APK能否正常启动。若正常,再逐步恢复认证与数据获取代码,定位具体出问题的代码段。
内容的提问来源于stack exchange,提问作者Nasyx Nadeem
相关产品推荐
相关产品推荐

