如何确定我的应用程序所需的权限

时间:2014-01-27 13:39:24

标签: android permissions

我想知道是否有办法确定我的应用需要的权限。

这里有一个类似的问题:How do I determine why my Android app requires certain permissions?

但回答说,你基本上必须找出自己,我不能相信这一点。

真的没有办法告诉Eclipse查看我的代码并确定所需的权限或类似的东西吗?自动化应该没有问题。

或者有没有办法测试设备的权限。当我在我的本地设备上安装我的应用程序时,我没有被要求任何权限。

非常欢迎任何帮助。

5 个答案:

答案 0 :(得分:2)

这应该有效:

boolean crashes = true
while (crashes) {
    ReadLogCat()
    AddPermissionFoundMissingAccordingToLogCat()
    crashes = TryAgain()
}

PS:这是伪代码;)

PPS:你没有将它复制到Eclipse,是吗?只是开玩笑';)

答案 1 :(得分:1)

相信它。
应用程序崩溃并告诉您原因:它期望在其清单文件中声明一些权限。

它通常以两种方式告诉您:在对话框(FC对话框)和LogCat中。

答案 2 :(得分:0)

您必须根据应用的功能定义权限,如果它正在访问互联网,则需要获得许可。如果它想通过GPS找到你,它需要获得它的许可,不能你不能自动化它,而不是正式的。

将您的应用视为虚拟孩子,您需要授予其执行操作的权限,否则它将无法执行任何操作。所以你必须自己决定自己。

但是你不必担心,如果你错过了一个权限,日志会让你知道它是哪一个。

答案 3 :(得分:0)

我不会将此视为此问题的官方解决方案

通常当我错过我的应用程序中的任何权限时说我正在使用互联网连接或获取任务但我没有在清单中声明它们

当我运行我的应用程序时,我会在日志猫中获取它,说明互联网权限并获得此应用程序运行所需的任务权限

希望能回答你的问题

答案 4 :(得分:0)

  

真的没有办法告诉Eclipse查看我的代码并确定所需的权限或类似的内容吗?

如果你有一个测试套件可以充分测试你的应用程序,运行测试套件会告诉你所需的权限,因为如果你没有它们,你的测试就会崩溃。

  

或者有没有办法测试设备的权限。当我在我的本地设备上安装我的应用程序时,我没有被要求任何权限。

您在安装时看到的权限取决于清单中的<uses-permission>元素,而不是对该应用之外的某些分析。因此,这对你没有帮助。话虽这么说,通过 adb 以外的任何方式安装您的应用,例如从Web服务器下载应用程序,都会弹出权限对话框,以便您可以查看预期用户将使用哪些内容在安装时看到。