React Native项目上传AAB至Google Play因Segment SDK合规问题失败
解决Expo项目Segment Analytics Android SDK合规问题导致Google Play上传失败
问题根源
你当前使用的expo-analytics-segment@11.2.1依赖的Segment Android SDK版本为4.3.0,该版本会收集广告ID、Android ID等敏感数据,违反Google用户数据政策。官方要求升级至4.10.1+版本,但由于Expo包的依赖锁定,直接升级Expo包可能受限于当前Expo版本(45),需要针对性处理。
解决方案
方案1:强制指定Segment Android SDK版本(无需升级Expo)
适用于不想升级Expo 45的场景,通过Gradle强制替换旧版本SDK:
- 进入项目
android/app/build.gradle文件,在dependencies代码块前添加以下配置:
configurations.all { resolutionStrategy.force 'com.segment.analytics.android:analytics:4.10.1' }
- 清理项目缓存并重新构建:
# 清理Expo缓存 npx expo prebuild --clean # 构建AAB eas build --platform android - 验证依赖版本:进入
android目录执行./gradlew app:dependencies,搜索com.segment.analytics.android:analytics确认版本为4.10.1。
方案2:升级Expo及对应Segment包
如果可以升级Expo版本,直接适配新版expo-analytics-segment:
- 升级Expo到46版本(适配合规Segment SDK的最低Expo版本):
npx expo upgrade 46 - 升级
expo-analytics-segment到对应版本:npm install expo-analytics-segment@12.0.0 - 清理缓存后重新构建AAB。
方案3:移除Segment Analytics SDK
如果业务不需要Segment分析功能,直接移除相关依赖:
- 卸载包:
npm uninstall expo-analytics-segment - 删除代码中所有Segment初始化、事件上报的逻辑。
- 重新构建AAB。
额外注意事项
完成上述操作后,需在Google Play控制台的数据安全页面,准确填写应用的数据收集情况,确保与实际行为一致,避免再次触发政策违规。
内容的提问来源于stack exchange,提问作者Frankinstyyn
相关产品推荐
相关产品推荐

