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

Expo构建Android应用版本未更新导致Google Play拒审的解决求助

Expo构建Android应用版本未更新导致Google Play拒审的解决求助

遇到过一模一样的坑!给你几个我亲测有效的解决步骤,按顺序试应该能搞定:

1. 先清掉EAS的缓存(重中之重)

Expo的EAS Build特别爱缓存旧的构建配置,尤其是你之前用相同参数跑过构建任务的话,缓存会直接复用旧版本信息。

  • 本地先清缓存:在项目根目录运行
    eas build:clear-cache
    
  • 如果本地清了没用,直接去Expo Dashboard你的项目页面,找到Builds标签,把之前旧构建记录的缓存手动删掉(每个构建任务的下拉菜单里有清除缓存的选项)。

2. 确认versionCode是真的唯一且递增

Google Play对Android的versionCode要求是必须比之前所有提交版本的versionCode都大,而且得是整数递增。你现在设的是6,一定要去Google Play Console的「生产版/测试版」页面,核对之前已发布版本的versionCode——要是之前已经用过6了,那必须改成7(同时把version字符串对应改成6.1.0或者7.0.0)。

3. 检查eas.json有没有硬编码版本号

如果你的项目里有eas.json,一定要排查里面的构建配置!很多人会在eas.jsonbuild字段里写死versionCode,这会直接覆盖app.json的设置:

// 反例:这种硬编码会导致app.json的版本不生效
"build": {
  "production": {
    "android": {
      "versionCode": 5 // 这里如果是旧值,构建就会一直用这个
    }
  }
}

如果有这种情况,要么删掉硬编码的版本配置,要么同步改成新的versionCode

4. 构建时强制指定版本号(终极绕坑法)

要是前面的方法都不管用,直接在构建命令里硬指定版本号,绕开配置文件的问题:

eas build --platform android --profile production --version-code 6 --version-name "6.0.0"

这个命令会强制用你输入的versionCodeversionName构建,能彻底排除配置读取或缓存的问题。

5. 更到最新版的Expo/EAS CLI

旧版本的CLI可能存在配置读取的bug,先把工具链更到最新:

npm install -g expo-cli eas-cli

更新后再重新跑构建试试。

最后补个小技巧:如果还是不行,去Expo的构建日志里搜versionCode或者version,看看日志里打印的版本号是多少——要是日志里显示的还是旧版本,那说明你的新配置根本没被加载,就往「配置文件读取异常」或者「缓存没清干净」的方向深挖就行。

火山引擎 最新活动