Flutter上传应用包报com.segment.analytics.android:analytics 4.9.4错误
Flutter 打包上传AppBundle触发Segment SDK合规报错修复方案
问题表现
- 目前公开渠道可查的同类报错基本都出现在Expo/React技术栈场景,Flutter场景相关排查参考较少
- 直接升级项目内所有pub依赖无法解决问题,报错根源通常为三方库的间接依赖
平台返回的官方报错内容如下:
版本代码为27的应用包含SDK
com.segment.analytics.android:analytics 4.9.4,也可能是项目依赖的某一三方库间接依赖了该版本SDK;该SDK会采集包含但不限于Advertising ID、Android ID标识符在内的个人敏感数据。根据平台用户数据政策规定,持久性设备标识符不得与其他个人敏感用户数据、可重置设备标识符进行关联。
排查流程
首先定位间接依赖来源:进入项目根目录下的android文件夹,执行依赖查询命令:
./gradlew app:dependencies
在输出的完整依赖树中搜索com.segment.analytics.android:analytics字段,顺着依赖链路向上溯源,即可定位到是哪一个直接依赖的Flutter插件/原生库引入了该违规版本SDK。
常见引入来源包括:
- 低版本的Segment官方Flutter埋点插件
- 第三方归因、推送、用户行为分析类插件,内部集成了旧版本Segment SDK
修复方法
- 若定位到的来源插件有可用更新:直接将该插件升级到最新版本,Segment官方已在
4.10.0及以上版本的Android analytics SDK中修复了该合规问题,对应适配过的插件版本不会再触发报错 - 若来源插件暂未推送适配版本、且短期无法替换:在
android/app/build.gradle文件中添加全局依赖强制策略,覆盖所有间接依赖引入的旧版本SDK,配置代码如下:
configurations.all { resolutionStrategy { force 'com.segment.analytics.android:analytics:4.10.1' } }
- 修复完成后重新执行依赖查询命令,确认依赖树中所有
com.segment.analytics.android:analytics的版本都已升级到4.10.0及以上,再重新打包AppBundle上传即可 - 注意:如果应用本身确实存在采集、处理Advertising ID等设备标识符的逻辑,需要在Google Play后台的数据安全表单中如实披露对应的数据采集、使用场景,确保表单填报内容和应用实际行为完全一致。
内容的提问来源于stack exchange,提问作者David Davis
相关产品推荐
相关产品推荐

