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

EAS Build生成的AAB文件未更新代码与图标问题求助

解决EAS Build生成AAB仍包含旧代码/图标的问题

核心认知澄清

eas update用于推送Over-the-Air (OTA) 更新,不会修改eas build生成的原生安装包(AAB/APK)。安装包本身存储的是构建时刻的代码与资源,OTA更新是APP安装后动态加载的内容。如果用户安装APP后无法获取更新,或你需要生成包含最新代码的AAB,按以下步骤排查:

排查与解决步骤

1. 区分变更类型,判断是否需要重新构建

  • 若变更涉及原生代码/资源(如图标、AndroidManifest.xml、原生依赖配置等),OTA更新无法覆盖,必须重新执行eas build生成新AAB。
  • 若仅为JS/TS代码或非原生资源变更,可通过OTA更新生效,但需确保APP端能正常拉取更新。

2. 检查EAS Build构建配置与执行命令

  • 构建时明确指定正确的渠道、分支与配置文件,避免缓存干扰:
    eas build --platform android --profile production --channel production --clear-cache
    
  • 验证eas.json中production配置的正确性,确保分支、渠道与构建类型匹配:
    {
      "build": {
        "production": {
          "channel": "production",
          "branch": "production",
          "android": {
            "buildType": "app-bundle"
          }
        }
      }
    }
    

3. 确认OTA更新的生效逻辑

  • 检查APP的更新配置(app.json/app.config.js中的updates字段),确保开启自动更新或设置了合理的更新检查频率。
  • 手动触发更新测试,在APP中添加代码验证:
    import * as Updates from 'expo-updates';
    
    const checkForUpdate = async () => {
      const update = await Updates.checkForUpdateAsync();
      if (update.isAvailable) {
        await Updates.fetchUpdateAsync();
        await Updates.reloadAsync();
      }
    };
    

4. 验证渠道与分支的绑定关系

  • 查看当前production渠道绑定的分支:
    eas channel:view production
    
  • 若绑定错误,重新关联分支:
    eas channel:edit production --branch production
    

5. 同步本地与远程分支代码

确保本地production分支的最新代码已推送到远程仓库,EAS Build基于远程分支代码构建,本地未推送的变更不会被纳入安装包。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 08:02:08