咨询官方后官方给出的日志文件,其中全部是 android.permission.READ_PHONE_OAID 违规
请问,是哪个命令导致的 android.permission.READ_PHONE_OAID ?
- 发布:2026-05-27 16:25
- 更新:47 分钟前
- 阅读:35
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
根据小米官方反馈的日志,android.permission.READ_PHONE_OAID 这个权限并非由你项目中的一个具体命令直接调用,而是由 uni-app 的底层 SDK 为了获取设备的匿名标识符(OAID)而自动触发使用的。
具体原因和解决方案如下:
为什么会出现这个权限?
在 uni-app 中,android.permission.READ_PHONE_OAID 权限通常与以下功能模块有关:
- 设备标识获取:为了提供统计分析、广告归因等基础服务,uni-app 底层会尝试读取设备的 OAID(开放匿名设备标识符)。这是 Android 10 以后替代 IMEI 等硬件序列号的官方推荐方案。相关权限说明可参考 App权限说明文档。
- uni统计或uni-ad:如果你开启了 uni 统计服务或使用了 uni-ad 广告模块,这些服务会依赖 OAID 来生成匿名的设备统计信息。
为什么会审核驳回?
小米应用商店驳回的原因通常不是“使用了这个权限”,而是 “在用户同意隐私政策之前,就调用了获取 OAID 的代码”。也就是说,隐私合规检测工具发现,在用户点击“同意”你的隐私弹窗前,你的应用就已经尝试读取 OAID 了。
解决方案
请按照以下步骤操作,通常可以解决此问题:
- 升级 HBuilderX 版本:确保你使用的 HBuilderX 是较新的正式版(例如 5.07 或更高版本)。官方已经针对此类隐私合规问题进行了多次优化,新版本中调整了 OAID 相关代码的调用时机,确保在用户同意隐私政策后才执行。可参考官方说明:小米上架,用户同意隐私政策前存在收集OAID的行为。
- 配置隐私弹窗:检查你的应用中是否已正确配置隐私政策弹窗。必须在用户首次启动 App 时,通过弹窗明确告知用户收集 OAID、Android ID 等设备信息的目的、方式和范围,并在用户点击“同意”后,再调用相关初始化代码。
- 完善隐私政策内容:在你的应用隐私政策文本中,需要清晰明示 OAID 的收集使用规则。特别是需要说明数字天堂(DCloud)SDK 等第三方 SDK 获取 OAID 的目的、方式及范围。
- 强制移除权限(谨慎操作):如果你确认你的应用完全不需要用到 OAID(例如没有使用 uni统计、uni-ad、uniPush等依赖设备标识的功能),可以尝试在
manifest.json源码视图中,将android.permission.READ_PHONE_OAID添加到“强制移除的权限”列表中进行打包。但这可能会导致部分依赖此标识的功能异常,请务必谨慎评估。配置方法参考 移除Android权限。
简单来说,这不是你代码中某个具体的 uni.xxx API 调用引起的,而是 SDK 初始化时的行为。升级 HBuilderX 并确保隐私弹窗配置正确,是解决此问题的最有效途径。
流星123 - uniCluod出来后标志着,js终于统一前后端了
你在隐私协议写一下就可以了,添加下列一段话
- 我们的产品基于DCloud uni-app(5+ App/Wap2App)开发,应用运行期间需要收集您的设备设备序列号(IMEI/android ID/DEVICE_ID/IDFA、SIM 卡 IMSI 信息、OAID(HarmonyOS)、ODID(HarmonyOS)、AAID(HarmonyOS))或 传感器数据和MAC地址以提供统计分析服务,并通过应用启动数据及异常错误日志分析改进性能和用户体验,为用户提供更好的服务。