You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Expo React Native应用生产环境崩溃,开发环境无异常

Expo Android生产构建崩溃排查求助
  • 用expo-cli开发的应用,在development client中测试完全正常,但通过eas build android构建出的.aab上传Google Play后,用户下载安装即立即崩溃。
  • 尝试集成Sentry监控生产环境崩溃,但崩溃后Sentry控制台无任何错误日志。
  • 此前尝试安装react-native-iap失败,移除该包后应用就无法正常构建运行,目前找不到排查方向。

已尝试的操作

  • 运行npx expo-doctor未检测到任何依赖或配置错误
  • 卸载过多个无关依赖包,无效
  • 执行npx expo start --no-dev时应用运行正常
  • 昨天应用还能正常构建运行,无代码或配置的重大变更

项目依赖包列表

{
  "dependencies": {
    "@react-native-async-storage/async-storage": "1.18.2",
    "@react-native-community/masked-view": "^0.1.11",
    "@react-native-community/slider": "4.4.2",
    "@react-navigation/native": "^6.1.9",
    "@react-navigation/stack": "^6.3.20",
    "@sentry/react-native": "5.5.0",
    "axios": "^1.6.2",
    "dotenv": "^16.3.1",
    "expo": "^49.0.19",
    "expo-clipboard": "~4.3.1",
    "expo-dev-client": "~2.4.12",
    "expo-image-picker": "~14.3.2",
    "firebase": "^10.6.0",
    "i18next": "^23.7.6",
    "ocr-space-api-wrapper": "^2.1.3",
    "react": "18.2.0",
    "react-dom": "18.2.0",
    "react-i18next": "^13.5.0",
    "react-native": "0.72.6",
    "react-native-gesture-handler": "~2.12.0",
    "react-native-google-mobile-ads": "^12.4.0",
    "react-native-reanimated": "~3.3.0",
    "react-native-safe-area-context": "4.6.3",
    "react-native-screens": "~3.22.0",
    "react-native-vector-icons": "^10.0.2",
    "react-native-web": "~0.19.6",
    "sentry-expo": "~7.0.0"
  },
  "devDependencies": {
    "@babel/core": "^7.19.3"
  },
  "scripts": {
    "start": "expo start",
    "android": "expo start --android",
    "ios": "expo start --ios",
    "web": "expo start --web"
  },
  "version": "1.0.0",
  "private": true,
  "name": "quip_quick"
}

排查建议

  1. 获取Android原生崩溃日志:用adb logcat连接崩溃的设备,过滤应用进程日志,直接查看崩溃时的原生错误信息——这是最直接的方式,尤其适用于Sentry还未完成初始化就崩溃的场景。
  2. 清理EAS构建缓存:执行eas build android --clear-cache,避免之前安装react-native-iap残留的缓存影响构建结果。
  3. 调整Sentry初始化时机:把Sentry的初始化代码放在App.js的最顶部,甚至在导入其他依赖之前,确保崩溃发生时Sentry已经完成初始化并能上报日志。
  4. 检查签名一致性:确认EAS构建时的签名配置和Google Play App Signing的设置是否匹配,签名不匹配可能导致应用运行时崩溃。
  5. 逐步回滚排查:利用Git回滚到昨天能正常运行的版本,逐步恢复代码或依赖变更,定位是哪个操作引发的问题;重点检查react-native-iap移除后,app.json、android/app/build.gradle等配置文件是否残留相关内容。
  6. 测试预览构建包:用eas build android --profile preview构建可直接安装的APK,跳过Google Play签名流程,安装到本地设备测试,排查是否是分发环节导致的崩溃。

内容的提问来源于stack exchange,提问作者AdriByMe

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 18:20:30