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

Expo expo-application返回版本与app.json配置不符问题求助

解决expo-application返回版本与app.json不一致的问题

排查修复步骤

  • 确认app.json配置位置:确保修改的是expo.version(对应应用版本)、expo.ios.buildNumber和expo.android.versionCode(对应构建版本),不要误改其他无关配置文件。
  • 清除Expo缓存:执行expo r -c重启项目,旧缓存可能导致配置未同步更新。
  • 检查EAS Build配置:如果用EAS打包,确认eas.json里没有在build参数中覆盖版本号——这类配置优先级会高于app.json,可能导致版本被替换。
  • 区分本地预览与正式包:本地Expo Go预览可能显示的是Expo Go自身的版本(你看到的2.28.xx大概率是这个),打包后的正式APK/IPA才会读取你的配置。可以用eas build --profile preview打测试包,安装后再验证Application.nativeAppVersion和Application.nativeBuildVersion的值。

临时替代方案

如果上述步骤无效,可直接从app.json读取版本号绕过原生层异常:

import appConfig from '../app.json';
import { Platform } from 'react-native';

// 获取配置的应用版本
const appVersion = appConfig.expo.version;
// 获取对应平台的构建版本
const buildVersion = Platform.select({
  ios: appConfig.expo.ios.buildNumber,
  android: appConfig.expo.android.versionCode.toString(),
});

额外注意点

  • Expo托管工作流中,expo-application的版本读取依赖原生构建时注入的配置,要确保没有第三方插件或自定义脚本在构建过程中修改了版本号。
  • 若最近升级过Expo SDK,需确认app.json的配置格式是否匹配当前SDK要求,部分版本更新会调整配置字段的规则。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.18 23:58:11