如何解决在 Android 应用程序的 Manifest 文件中声明不相关的权限会产生什么后果?
我为 WearOS 开发表盘。我试图通过创建一个包含我所有项目的通用代码的基本模块来模块化我的代码。除其他外,它应该包含负责应用内购买的代码。为此,我必须添加 <uses-permission android:name="com.android.vending.BILLING"/>
。但是,有些项目没有应用内购买。因此,这些项目会继承 BILLING
权限,但实际上并不需要它。
所以我的问题是:
解决方法
有办法解决吗?像一种有条件地指定 Manifest 方面的方法吗?
我认为没有办法不declaring permissions in the manifest:
如果我只是让这个 BILLING 权限进入,即使它不是必需的,会有什么后果?
如果是install-time permission,系统会自动授予。但如果是 runtime-permission,则必须在使用前在运行时请求权限。
因此,如果您声明不需要的权限,最好的情况是什么都不会发生。但我不太清楚这样做会引起什么样的安全问题。
请注意,在您的应用中请求不需要的权限是against good practice:
注意:仔细考虑您在应用清单中声明的权限。仅添加您的应用所需的权限。对于您的应用请求的每项权限,请确保它为用户提供了明确的好处,并且请求的完成方式对他们来说是显而易见的。
删除权限
您还可以考虑删除您在基本模块中声明的(子)模块中的权限:
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" tools:node="remove"/>
,
上传应用时,您需要完成一个Permissions declaration,然后应用才能通过审核。您想要做的事情似乎与 Play 商店“Permissions policy”指南明确背道而驰:
您只能请求在 Play 商品详情中宣传的应用中实施当前功能或服务所需的权限。
鉴于此,我希望您的应用无法通过审核(或者如果它以某种方式第一次通过了审核,如果在稍后阶段被发现,可能会在未来的审核中失败)。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。