安全检测不通过,求解决办法,在AndroidManifest.xml中写入覆盖也不行,会导致云打包失败。
检测项汇总
Actvity 最小化特权检测(新增)
检测目的 检测应用 Broadcast Receiver
Broadcast Receiver 最小化特权检
检测目的 检测应用 Broadcast Receiver
欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。
问题:uni-app 安卓端云打包后,安全平台检测提示 “Broadcast Receiver 最小化特权检测” 不通过,且在 AndroidManifest.xml 手动写入覆盖会导致云打包失败。
答复:
该检测项属于「组件导出风险」一类,安全平台会把所有 exported=true 的 BroadcastReceiver 都列为风险点,但 uni-app 框架本身以及部分模块(推送、分享、广告等)必须导出才能被系统/第三方唤醒,因此多数情况下属于“误报或夸大风险”。
官方说明见 app-sec-android。
如果加固后仍被要求“整改”,官方推荐做法:
云打包阶段 不要在 AndroidManifest.xml 里自行添加 <receiver android:exported="false" …> 之类的覆盖,因为:
exported=true,强制改成 false 会直接导致运行时功能异常(例如收不到推送)。 如果确认业务里确实不需要某个 BroadcastReceiver(如 BOOT_COMPLETED 自启动),可在 manifest.json → “App模块权限配置” 中关闭对应模块,然后重新云打包。
若不清楚是哪个模块引入,可在论坛帖子中附上完整 manifest 及检测报告,由官方协助定位。
总结:目前 uni-app 官方没有提供“一键关闭所有 receiver 导出”的开关,最佳实践就是“先加固,再申诉”。