我有一个相当复杂的应用程序,刚刚注意到,我的应用程序要求的权限比我在AndroidManifest.xml中设置的权限多得多。在我的App.Droid调试对象映射中,有一个版本的AndroidManifest.xml (这也是Releases版本中的文件),它比我设置的权限多10-15个权限。例如,帐户权限显示,但我没有使用该功能。
谁能解释一下这些是从哪里来的,以及如何减少它们?提前谢谢。
发布于 2016-10-29 01:39:39
我知道有两件事可以做到这一点,那就是你在代码中添加的程序集注释和你安装的请求那些权限的库。
对于前者,在您的解决方案中搜索assembly: Permission和assembly: UsesPermission。这应该会显示您在代码中添加的任何内容。
至于了解您的库在做什么,除了手动查看它们的文档之外,我不知道有什么好方法可以找到它。例如,GCM插件会自动添加GET_ACCOUNTS权限。
根据安卓文档,你可以通过在你的AndroidManifest.xml文件中添加以下代码来删除权限请求,但由于某种原因(注意tools:node="remove"),它永远不会对我起作用,我不确定下面的代码是否适用于插件,或者是什么问题:
<uses-permission android:name="android.permission.GET_ACCOUNTS" tools:node="remove" />如果尝试使用tools:node方法,请确保在manifest标签中添加以下内容:
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
...>如果对你有效,请让我知道!
https://stackoverflow.com/questions/40310144
复制相似问题