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

Expo提交Google Play报com.segment.analytics.android:analytics错误

问题根因

Expo SDK 45 内置原生依赖com.segment.analytics.android:analytics版本低于Google Play隐私合规要求的最低版本,该依赖属于Expo核心模块默认打包内容,和你是否主动引入第三方包、写了多少业务代码无关。Expo团队公示的修复仅合入了SDK 46及以上版本分支,SDK 45的存量维护分支未同步该补丁,所以哪怕你打空白页面的极简包,依然会触发上传报错。
你之前尝试的升降应用版本、换CLI版本、增减依赖等操作没有生效,核心原因是没有触碰到Expo内置原生依赖的版本配置。

解决步骤

按优先级选以下任意一种方案操作即可:

  • 方案一(推荐,无额外配置成本):升级项目Expo SDK到46及以上稳定版本,高版本已经默认移除/升级了不合规的Segment SDK,升级后重新打包即可正常上传。
    执行以下命令完成升级:
    # 升级expo核心版本
    npm install expo@^46.0.0
    # 自动对齐所有关联依赖的兼容版本
    npx expo install --fix
    
  • 方案二(无法升级SDK时使用):通过EAS构建配置强制替换不合规的Segment SDK版本,不需要改动现有业务代码:
    1. 确保使用EAS Build构建,废弃旧的expo build经典构建命令——经典构建服务已停止维护,不会同步任何依赖修复,无论本地怎么改配置,打出来的包都会携带旧版违规依赖。
    2. 在项目根目录新建config-plugin.js文件,写入以下配置强制指定合规的Segment SDK版本:
    const { withAppBuildGradle } = require('@expo/config-plugins');
    module.exports = function forceSegmentVersion(config) {
      return withAppBuildGradle(config, (cfg) => {
        if (cfg.modResults.language === 'groovy') {
          cfg.modResults.contents += `
    

configurations.all {
resolutionStrategy {
force 'com.segment.analytics.android:analytics:4.10.4'
}
}`;
}
return cfg;
});
};

3. 在`package.json`的expo配置段加入插件引用:
```json
{
  "expo": {
    "plugins": ["./config-plugin.js"]
  }
}
  1. 执行eas build -p android --profile production重新打AAB生产包。
校验方法

构建完成后,可将AAB包解压检查classes.dex中的Segment类版本,确认依赖版本为4.10.4及以上后再上传,即可规避Google Play的版本拦截。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 20:27:20