Android权限“ WRITE_GSERVICES”在做什么?


8

有一个神秘而未公开的 Android权限:WRITE_GSERVICES。像往常一样,Google自己的文档比任何糟糕的童话故事都更加神秘,写道:

android.permission.WRITE_GSERVICES      Allows an application to modify the Google service map.

但是,使用Google搜索(!)Google Service Map不会产生任何作用。

它的作用是什么,它的作用是什么?


@Ryan:如果您实际上不愿意查看您说重复的链接,则会发现情况并非如此。您在哪里看到它与地图数据有关?消息来源似乎在讲另一个故事。
not2qubit 2015年

好吧,事实并非如此,我什至没有看到您尝试使用任何代码,证明或相关链接来备份您的陈述,而不是您自己的。请告诉我显示该代码甚至已远程连接到Google Maps的代码。正如我所说,我自己的调查还显示了其他内容。
not2qubit 2015年

1
尽管this(and this)是针对的READ_GSERVICES,这是有道理的,因为普通的应用程序无法请求访问WRITE_GSERVICES,所以询问者指出Google Maps需要READ_GSERVICES权限才能正常工作。-还希望在您称为“我的”的重复项中添加17项编辑,其中14项是我以外的其他用户的,从而增加了5000多个字符。
瑞安·康拉德

1
请参阅:android.izzysoft.de/applists/perms#WRITE_GSERVICES :)“允许应用程序修改Google服务地图。” 因此,@ RyanConrad是服务地图,而不是“ Google Maps Service”。确切地讲,这是另一回事,据我所知,没有真正的文档。
伊兹

2
我投票重新提出这个问题。出于推理的原因,请参阅(并加入有关的讨论)Meta:我们是否真的应该关闭与“一般列表”重复的权限含义问题?
伊兹

Answers:


8

请注意,此权限几乎是完全没有证件的,因此我们需要摸索它的真正含义。因此,这绝不是“权威性答案”,而是“好猜”和“从其他指标中推论”之间的某种程度的区别。

该许可的正式描述(如前所述,没有进一步的文档)是:

允许应用程序修改Google服务地图。

现在,我们可以猜测这意味着什么。让我们做一些“逆向工程”,以感觉到自己的方式。瑞安(Ryan)在评论中已经指出了一些要点,它涉及两个SO问题:

字里行间:每当应用程序要使用(部分)谷歌服务框架,它必须声明READ_GSERVICES许可所必需的-这是非常相似的要求GET_ACCOUNTS,如果你想USE_CREDENTIALS:应用程序首先需要确保所需的服务可用根本没有访问它。

这使我们对Google Service Map必须是什么有了一个概念:某种可用(已安装)Google Services的索引。

既然我们已经发现了,我们就可以很好地猜测该WRITE_GSERVICES权限的意图–以及为什么它受system保护级别保护(意味着,它仅授予“系统应用”)-即那些集成到ROM中的内容,即安装在/system分区上):如果READ_GSERVICES要弄清楚哪些Google服务可用,则WRITE_GSERVICES必须将其作为对等方以更新该服务图。例如,每当安装(或移除)新服务时,即可更新“设备上可用的Google Services索引” –“ Google Service Map”。

在这种情况下,我想知道的一件事是,为什么此权限属于该ACCOUNTS ……


也可以看看:


1
为何要在该ACCOUNTS组中使用此权限的另一点:许多Google服务都要求登录才能使用,因此可能需要进行交叉核对(例如,传输您的帐户以检查给定的用户是否拥有“活动用户”服务,甚至无需登录/传输密码/ AUTH令牌)。
伊兹
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.