14

我在哪里可以找到 Android 权限(我们在清单文件中定义)与相应 API 调用/方法之间的映射?

例如

GET-ACCOUNTS” is a permission type which maps to
getAccountsByType(), getDeviceId(), and getLine1Number().

同样我想知道,如果我使用权限Internet,ACCESS_COARSE_LOCATION,ACCESS_WIFI_STATE etc..那么所有方法/API调用都映射到它?

请让我知道在哪里可以找到这些信息。下面的链接列出了权限 http://developer.android.com/reference/android/Manifest.permission.html

但是找不到映射。

如果这不是发布此内容的正确论坛,那么请让我知道我应该在哪里发布此内容?

4

3 回答 3

13

该映射不是由谷歌提供的,但是已经尝试了两项三项主要研究来恢复这些信息。

第一项研究由伯克利完成,使用动态分析技术从 Android 2.2 中挖掘映射。他们创建了一个在线工具,您可以在其中提交您的应用程序进行一些分析(现在离线)。

第二项研究由多伦多大学完成。他们使用静态分析方法从几个具有代表性的 Android 版本(2.2.3、2.3.6、3.2.2、4.0.1 和 4.1.1)中挖掘映射。请注意,PScout 现在似乎再次由作者积极维护,并且有可用的当前映射。

正如论文所讨论的,这两种工具都有一些警告,因此产生的映射并不完美,但总比没有好。


更新:PScout 不再被积极维护。德国萨尔大学的一个小组能够对 PScout 进行一些改进,并为 Android API 16、17、18、19、21、22 和 23 生成已发布的映射结果。工具源似乎不可用。


链接:伯克利论文(Android 权限揭秘)

链接:Berkeley Stowaway Tool(该工具现在似乎永久离线,作者现在建议使用 PScout 结果进行分析)

链接:多伦多论文(PScout:Analyzing the Android Permission Specification)

链接:多伦多 PScout 工具

链接:Github 上的 PScout II

链接:萨尔大学论文(axplorer:On Demystifying the Android Application Framework: Re-Visiting Android Permission Specification Analysis)

链接:axplorer 权限映射结果


更新:我的Android Essentials Toolbox开源Eclipse插件的无耻自我宣传,可用于在Atlas可视化程序分析框架中应用权限映射。权限映射基于 PScout 和 axplorer 结果,可应用于 Android 源或二进制项目。包含用于浏览权限映射的 UI(使用的权限以红色突出显示)。

在此处输入图像描述

于 2014-06-03T15:29:49.677 回答
1

原始 PScout 网站不再工作,但我从原始 PScout 提取映射并将其推送到 Github。如果需要,您可以轻松检查并解析它。

在这里,您可以找到 PScout 找到的所有需要​​ Android 权限的方法。

PScout 结果 - Android 权限和需要这些权限的方法的映射

于 2015-10-30T11:42:57.947 回答
1

最后一篇(2016 年)关于权限映射的“最先进”论文是Axplorer

在他们的 github 项目中,您可以找到提取的映射(api 25)。

于 2018-09-07T09:57:46.567 回答