Android Studio:是否可以使用注释永久忽略权限检查?

时间:2016-02-10 19:48:02

标签: android android-studio android-permissions android-lint code-inspection

我正在开发一个Android库,它提供了进入各种系统服务和收集数据进行分析的方法。我的类使用各种系统服务管理器(如WifiManager)来收集数据。

喜欢来构建我的库的清单,这样它就不会获取所有这些功能所需的所有权限。相反,我想将它留给应用使用该库,以仅声明 it 所需的权限,这可能是所使用的权限的较小子集。图书馆。

这实际上在实践中有效,因为在构建过程中所有清单都会合并在一起,因此应用程序最终会获得使用库功能所需的权限。但是,由于<uses-permission>标记在库中没有,因此代码全部都会显示来自Android Studio的警告。

  1. 有没有办法注释我的库代码,以便忽略权限检查? 当然,我可以在我的 Android Studio设置中关闭“常量和资源类型不匹配”检查,但这对于尝试使用该库的任何其他人都没有帮助。我尝试在文档中找到对此检查的引用(因此我可以使用@SuppressWarnings将其删除但尚未找到它。

  2. 这是一种有价值的方法吗? ...或者我应该让库获取它需要的所有权限,这将迫使库的使用者关闭关闭使用tools:node="remove"属性不需要的权限在清单?这里的问题是,当我向我的库添加功能时,我的库的消费者将不得不反复回圈并明确删除这些新权限。我觉得这不是一个很好的模型,我宁愿把许可请求留给我的消费者。

  3. 考虑以下关于这个主题的对话 -

1 个答案:

答案 0 :(得分:6)

只需随机右键单击该问题,我就可以在Android Studio中选择 Suppress for method 上下文命令,并添加了以下注释:

@SuppressWarnings( "ResourceType" )

所以......耶!有使用哪种注释的答案。

但是,我仍然对人们对这种方法的看法感兴趣。请随意在答案部分哈希表示。 ^ _ ^