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.json的build字段里写死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"
这个命令会强制用你输入的versionCode和versionName构建,能彻底排除配置读取或缓存的问题。
5. 更到最新版的Expo/EAS CLI
旧版本的CLI可能存在配置读取的bug,先把工具链更到最新:
npm install -g expo-cli eas-cli
更新后再重新跑构建试试。
最后补个小技巧:如果还是不行,去Expo的构建日志里搜versionCode或者version,看看日志里打印的版本号是多少——要是日志里显示的还是旧版本,那说明你的新配置根本没被加载,就往「配置文件读取异常」或者「缓存没清干净」的方向深挖就行。




