如何按权限搜索Play商店?


66

如何指定我不希望看到需要访问互联网的应用程序?还是仅显示使用特定权限的应用程序?

在其网页上有搜索的特定存储库?提供搜索Play商店的应用程序?


6
这真的是谷歌一个伟大的建议..
安卓Quesito

8
如果您使用Play商店的网络界面,则无需尝试安装即可查看应用程序的权限-每个应用程序页面上都有一个标签列出了这些权限。可以为您节省一些点击次数。
Chahk 2012年

3
AppBrain应该能够添加此功能。这是功能请求。投票吧。:)
流程

@Chahk我找不到选项卡。您介意为该标签发布示例链接吗?
2013年

@Marcel Play商店网站最近由Google重新设计。不幸的是,他们删除了我正在谈论的功能。现在,您需要单击“安装”按钮以查看权限。
Chahk 2013年

Answers:


5

更新:根据Google Play商店列表,当前不起作用。

如果您有兴趣,我已经开发了一个应用程序StripSearch,以根据所使用的权限过滤搜索列表。该应用的工作原理是排除不满足给定搜索过滤器指定的权限要求的结果(过滤器可以排除,要求或忽略特定的权限)。默认情况下包括几个过滤器,但是您也可以创建自己的过滤器。

在此处获取StripSearch:https//play.google.com/store/apps/details? id = com.hasslefixes.stripsearch

如果您想观看演示其用法的演示,可以在此处观看视频:https : //www.youtube.com/watch?v=mynw3rbky5A

StripSearch是免费的,不包含广告或间谍软件,仅使用以下权限:

  • android.permission.INTERNET(显然需要搜索商店)
  • com.google.android.providers.gsf.permission.READ_GSERVICES(需要获取与您的手机和帐户绑定的Google Play Android ID)

尝试一下!


嗯?即使未安装GSF,也不会将其android_id存储在/data/data/android.provider.settings/databases/settings.db设备的数据库中吗?只是想知道是否真的需要GSF权限(而不是READ_SECURE_SETTINGS)访问。我已经听说过GSF会android_id在帐户初始化时以某种方式“覆盖”原始文件,但是它是否存储在设备上的其他位置?如果是这样,在哪里?
伊齐

顺便说一句:看起来很酷。我刚刚将其添加到AppBrain我的市场附加列表中;)
Izzy

我原本也这么认为,但事实证明,虽然每部手机专用的Android ID并不是提供给Google Play的有效ID。要通过市场API(StripSearch的工作方式)访问Google Play,需要提供GTalk Android ID。该博客更加深入:blog.codepainters.com/2012/01/17/how-to-obtain-gtalk-android-id 感谢您的关注!
HassleFixes

非常感谢!那是及时的。即将重新刷写另一台设备以使用“不带Google”(改为使用NOGAPPS和BlankStore)。现在我有一个有效的android_id :)
Izzy

提示:如果有人对这个应用程序的更多细节感兴趣,我在StripSearch中写了一个摘要,可帮助您按许可查找应用程序。HassleFixes毫不费力,他解决了,而且很快(即良好的支持:)
Izzy

23

它是如何目前CAN完成

在早上的例行阅读RSS提要的过程中,我偶然发现了N-Droid上的一篇评论,讨论了一个名为APEFS的应用程序。此应用程序是由德国学生开发的(因此即使您将语言设置为英语,其在Playstore上的描述也是德语的)。但是,对于非德语读者,请在此处进行简短说明:

基本上,APEFS是Google Playstore的替代前端。您可以像使用原始应用程序一样浏览Playstore,然后对其进行搜索。但是,在结果列表1上时,高级过滤器2开始起作用:

APEFS搜索结果 APEFS过滤器

如第二张屏幕截图所示,您可以选择想要的应用程序具有哪些权限(选中复选框),以及应该拥有的权限(未选中复选框)。

但是:虽然这可以用来过滤掉不需要的权限的应用程序(例如,仅显示没有Internet权限的应用程序),但是您不能将结果限制为相反(例如,只显示具有 Internet权限的应用程序)。该应用程序显然是针对关注其隐私/安全性的用户的-根据评论(我是几分钟前才发现它的,所以我还不能对其进行测试),它做得很好。


编辑:

就像一年前一样,APEFS主页上的承诺(GTransed为英语,因为他们自己的英语版本在第一段中没有该声明)似乎很快就会兑现(该应用程序仍处于离线状态):同时,请考虑从其他答案中选择基于Web的解决方案。


与Google Play商店的链接已断开,是更新的吗?附言:如果是的话,已经有英语支持了……
Zuul

@Zuul不,那是错误的。由于现在贴存储的“播放8重新启动”,“播放” 链接只是暂时断开(请参阅APEFS主页G转换为英文))。显然,该应用使用了一些网站抓取工具;)不幸的是,他们的英文页面没有包含该通知...
Izzy

2
@sashoalm会在您的评论之上看到三个评论。它与PlayStore重新启动不兼容。他们的网站说他们正在进行更新-但这似乎要花很长时间(自重新启动以来它就这么说)。不过,不要放弃希望!
伊齐

1
4年后,他们仍在进行该更新。但是,@ Izzy启发了我不要放弃希望;-)
Spencer D

2
@ Izzy,FY,StripSearch似乎也坏了。我不确定它是否仍对某些人有用,但对我来说却不起作用,我相信我在其他地方看到了其他用户将其报告为损坏的评论。(这些人实际上可能已经在Play商店中对该应用程序进行过评论。)无论如何,我最终还是使用了效果很好的解决方案。不过,我不想留下任何反馈,只是说:“ + 1谢谢;”。但是,您的网页是我找到的唯一有效的搜索/过滤器。因此,您得到了我的支持和感谢。您为社区做出了杰出的贡献。
Spencer D'

14

自问这个问题以来已经过去两年多了。仍然没有“官方解决方案”可用。尽管作出了承诺,但APEFS(一年前在我之前的回答中引入)尚未返回。因此,我决定创建自己的解决方案:

在将近4年的时间里,我维护“按目的分类的Android应用”列表,即按其使用案例进行分组。3月,我开始将它们移到我自己的服务器上。所有元数据都存储在该服务器上的数据库中,因此最终我能够通过权限设置搜索

搜索面具
搜索蒙版以查找“按类别和权限划分的应用”(点击图片可查看大图)

您可以在此处选择1至5个类别(请注意,选择“父类别”会自动包括其所有“子级”),以及一个或多个权限。默认预设是用于查找“许可友好的应用程序”的-因此,如果您正在寻找这样的候选人,则可以在做出描述性选择后简单地提交表格。例如,这应该可以轻松找到不需要Internet许可(将您的个人数据保留在设备上)的PIM应用。

但是,相反的情况也是可能的:例如,如果您想研究NFC可以为您做什么,请选择最多5个您感兴趣的类别,然后选择NFC权限,将“权限”下拉框切换为“包括” ,以及可选的排序方式为“按评分,降序”(首先获得评分最高的应用)。

如有疑问,右上角会出现一个小的问号图标,为您提供一些“在线帮助”。

但这还不是全部。正如我在第二段中所解释的那样,列表中的应用程序按其“用途”(即您的用途)分组。因此,具有可比功能的应用应并排出现:

应用程式清单
带有应用详细信息的类别(来源:帮助页面(因此带有“红色数字”);点击图片可查看较大的变体)

因此,您不仅可以按评分来比较它们,还可以选择请求较少权限的一个(框中的数字;上图中用“红色6”表示),或者在可能的情况下,不用担心(框周围没有红色边框) )。单击应用程序的名称会显示更多详细信息,如图所示。而且还有许多“复活节彩蛋”(即MouseOver事件)–再次指向帮助页面。


完全披露:如最初所述,所描述的网站由我设计,由我建造,由我填充其内容,并由我进一步维护。它可以双语(英语/德语)免费使用(包括:没有cookie,Flash-cookies等),等等。Android.SE的这个问题是我设置它的原因之一。

进一步请注意,这并不涵盖整个“ playstore集合”。到今天为止,数据库中记录了10,000多个应用程序(可能只比Play上的应用程序少1%-除非您不计算Play上的废品,假货和无用的应用程序,然后再记录我的记录)可能覆盖大约10%☺)。我仍然希望(并认为)它已经是您会喜欢的有用资源。


13

为什么目前   无法做到这一点

当开发人员将其应用程序上载到Google Play时,该应用程序清单文件将被读取到数据库中,并在该数据库中搜索应用程序。

为了允许根据应用程序的权限搜索应用程序,必须访问数据库并收集与应用程序清单节点有关的数据,该清单 <uses-permission>先前是从AndroidManifest.xml文件中读取的,开发人员已在该文件中声明了其应用程序权限。

尽管这似乎很简单,但Google API并未为此提供方法:

严格来说,Google Play不会根据<uses-permission>元素进行过滤。

从Google Play上的过滤器开始,基于清单元素-<uses-permission>进行过滤


细化

本质上,Google Play商店使用应用程序清单文件根据用户的设备,硬件规格,国家/地区,运营商等自动应用过滤器。

所有这些都是无提示的,无需任何搜索参数的干预。

来自Google Play或第三方搜索引擎的用户可以根据个人偏好(例如排除付费应用),在结果被Google自动过滤后限制结果;将结果限制为与用户设备兼容的应用等。但是没有办法干扰Google应用的过滤器。即使通过 某种方式,到了这一部分,该API基本上也没有准备/设计为如上所述基于权限进行过滤。


1
我必须说,您的指南对您有所帮助(请在此处查看我的答案):它起作用,通过Playstore API提取应用程序数据(包括权限),将其提供给数据库,然后针对后者进行搜索:)
Izzy

6

简单的答案:你没有。虽然您可以随时询问Google。正如查克(Chahk)用户所说,Web界面可以为您节省一些点击,但是仍然无法按您的要求过滤结果。


5

一种方法是创建一个使用android-market-api的Java应用程序。目前,它可以根据 “关键字或程序包名称” 搜索应用程序。可以构建搜索查询来搜索正在寻求的必要权限。几乎不需要功课,但似乎很有用。

下载androidmarketapi-0.6.jar和protobuf-java-2.2.0.jar(当然,您应该已经设置了JRE)之后,您可以执行以下命令:

java -jar androidmarketapi-X.Y.jar myemail mypassword myquery

您必须将XY替换为0.6,因为它是当前版本,并替换凭证和查询。对于建筑查询,您可以访问页面。


哪种查询会按许可产生应用程序?我没有看到任何与此相关的信息。
RR 2012年

我不确定,因为只能通过“字符串查询=“ pname:<package>”;”按程序包名称进行搜索。并通过开发人员名称“ String query =” pub:<name>“;” 举个例子。通过在搜索中提供合适的关键字(必须将其删除),希望您能找到想要的。
Narayanan

2

如果您具有编程技能,则可以编写自己的解析器并在其上方使用过滤器。我找不到关于API的任何信息,但是您可以慢慢解析Web界面以获得所需的信息。

这不是最简单的解决方案,但可以使您对获得的结果充满信心。

老实说,我希望我可以用Python做一个简单的例子,但是现在没有时间了。也许在最近的将来。


1
这就是我要避免的事情。下载50万个网页并不是我最喜欢的娱乐活动的重中之重。12GB的带宽和50GB的原始数据,谁知道多少机器小时。我可以编写我不愿意的代码。
RR 2012年

1
购买服务器,编写一个程序以缓存权限列表并在其中运行,并在应用程序获得新版本时刷新应用程序的缓存-但仅当该应用程序与某些用户的关键字查询匹配时(您甚至可以对结果进行分页并将自己限制为用户查看的页面。)然后添加广告,以便您可以为服务器付费,甚至可以添加步骤“ ???” 和“利润!”。
阿德里安·帕纳西乌克

2
我们不再使用服务器了吗?
阿德里安·帕纳西乌克

...或者只是尝试与Google团队联系以添加该功能。
Крайст

1
@Kpa感谢您链接与此无关的页面。
RR 2012年

1

使用权限名称进行搜索仍然意味着它最多只能通过应用说明进行搜索

例如:“ COARSE(基于网络的)位置”->搜索将列出在其描述中列出了此信息的应用程序,但是无法在“权限”选项卡中搜索。

如果Google允许像我一样抓取所有应用程序的信息,那么我将能够为世界提供一个搜索引擎,以通过他们需要的权限来搜索应用程序:)


1

截至2018年2月,此处提到的解决方案均无法正常运行。

因此,我创建了自己的简单解决方案,将在下面进行记录。

TL; DR:使用AppBrain的API。

长答案

  1. appSearch例如,创建一个名为的文件夹。

  2. 在AppBrain上注册一个帐户。然后转到开发人员仪表板。它将提示您启用帐户的“开发人员”选项。

  3. 导航到API访问页面。

  4. 复制看起来像的身份验证字段,di=xxxx&t=zzzzz然后将值存储到appBrain.json以下格式的文件中:

    {“ DI”:“ xxxx”,“ TOKEN”:“ yyyy”}

  5. 现在下载filter.js并将其保存到相同的('appSearch')文件夹中。

  6. 安装Java 8+

  7. 运行以下命令:jjs -scripting filter.js -- keyword,其中keyword可以是任何搜索词。

  8. 您应该会看到50个与您的搜索字词匹配的应用程序列表,并按权限数量排序,并带有指向其Play商店页面的链接。

    编辑:中的代码filter.js相对简单,如果您了解一些编程知识,可以对其进行调整以适合您自己的条件。我将在以后尝试使其更具可配置性。

  9. 免费套餐每天允许有限数量的查询。不过,您每天仍可以进行30次搜索,足以供个人使用。


“截至2017年2月,这里提到的所有解决方案都无法正常工作。” 不能相信。我的应用搜索仍然有效,甚至是2018年2月;)//感谢您的方法-但这并不完全符合问题。目标是如果应用程序请求某些权限,则将它们从结果列表中删除–不仅仅是根据权限数量排序的列表。而AFAIK的“免费套餐”每天最多只能请求10个请求。不过好主意:)
Izzy

1
糟糕,编辑日期为2018年2月。我喜欢您的解决方案,但这是一个精选列表,无法扩展。可以理解的是,例如,我开发的应用程序不在列表中,尽管它们只需要很少的权限并且很受欢迎。在filter.js我挂的是,可以(通过人谁知道编程)量身定做的示例代码。也许如果我有更多的时间,我将使它对于非程序员来说更具可配置性。
HRJ

当然,不完整是一个缺点。但始终欢迎您推荐要列出的应用程序,Harshad – 这里是应用程序列表,这里是仓库:)当您注意请求尽可能少的权限时,我特别希望拥有这些应用程序列出。
的Izzy
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.