应用上架检测出未使用的权限
=============

#### 问题现象

场景一：

代码中没有用到通讯录受限权限([ohos.permission.READ\_CONTACTS](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/restricted-permissions#ohospermissionread_contacts),[ohos.permission.WRITE\_CONTACTS](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/restricted-permissions#ohospermissionwrite_contacts))，但是上传app包时提示软件包内存在这个权限。

场景二：

应用上架的时候，应用市场反馈：

“app.hap的permission为用户授权权限但未配置reason和usedScene:ohos.permission.APP\_TRACKING\_CONSENT”。

对于未使用到的SDK权限，需要从app包中去除冗余。

#### 背景知识

*   应用存在收集用户的个人信息或权限的行为（通讯录），但未在应用内的隐私政策/在AppGallery Connect上提交的隐私政策网址中进行说明。不符合华为应用市场《审核指南》第7.11项。
*   [removePermissions](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hvigor-build-profile-app#section99591415322)：removePermissions是一个对象数组，用于编译HAP/HSP模块时，指定需要删除的依赖包中的冗余权限，模块本身的权限不会被删除。

#### 问题定位

1.  排查app包内的[module.json5](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/module-configuration-file)文件，看是否误填了未使用的权限。如下：
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/d5/v3/b8RcdzYUSC2PxVf_Fo2CTQ/zh-cn_image_0000002628394608.png?HW-CC-KV=V1&HW-CC-Date=20260709T134327Z&HW-CC-Expire=86400&HW-CC-Sign=0CFB7FFAB117D1104B190690E9B4F78EA09EDA28D4869E26B753361646475901 "点击放大")
    
2.  排查引用的三方库是否使用了此权限。比如在项目工程目录oh\_modules下，依次在引用三方库的module.json5文件中查看“requestPermissions”字段，以此排查应用申请权限属于哪个三方库。
    
    ![](https://contentcenter-vali-drcn.dbankcdn.cn/pvt_2/DeveloperAlliance_scene_100_1/33/v3/kc0HhsEJTTmt1MgIRbT3xw/zh-cn_image_0000002628554496.png?HW-CC-KV=V1&HW-CC-Date=20260709T134327Z&HW-CC-Expire=86400&HW-CC-Sign=5E54100AB581724B83A6E674C91E0EEBC2382CDC0D982E38F5344C8871B9EAFC "点击放大")
    
3.  验证权限是否与功能场景匹配，避免声明未使用的敏感权限（如通讯录、位置等）。
4.  排查是否使用了已废弃权限，例如[ohos.permission.WRITE\_MEDIA](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/permissions-for-all-user#ohospermissionwrite_media)权限。需要根据文档说明使用替换方案。

#### 分析结论

项目中有三方库使用该权限。

#### 修改建议

1.  使用removePermissions删除三方库中未使用权限。
    
    IDE使用API15 beta2以上版本：[下载链接](https://developer.huawei.com/consumer/cn/download/)。
    
    build-profile.json5新增[removePermissions](https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/ide-hvigor-build-profile-app#section99591415322)字段，在编译时将删除指定的依赖包中的冗余权限，而模块本身的权限不会被删除，仅对hap/hsp模块生效。
    
2.  查看三方库最新版本是否更新移除了该权限，如果去掉，可以更新到最新版。

#### 常见FAQ

Q：在UniApp工程应该如何去配置removePermissions字段呢？

A：在harmony-configs文件夹下放一个自定义的build-profile.json5文件，在build-profile.json5文件添加removePermissions字段即可。