有时,我想安装一个需要某些权限的应用程序,而我认为这确实是不需要的。我可以在没有授予这些权限的情况下安装该应用程序吗?例如GPS位置,电话状态,互联网连接等。

安装应用程序后是否可以更改其权限?

评论

这是一个值得关注的相关问题:android.stackexchange.com/questions/3294

另一个相关的问题stackoverflow.com/questions/1836155 / ...

相关:是否无根地撤消应用程序权限?

#1 楼

在Android 4.3(Jelly Bean)之前的版本

否。如果没有定制的ROM,那就是全有或全无。这是Google鼓励开发人员确保他们要求应用程序正常运行所必需的绝对最低权限的部分原因。
获取应用程序代码和对其进行修改的时间很短,您要么需要接受访问请求或不使用该应用程序。如果您的设备已植根,则存在一些替代方法。

Android 4.3 / 4.4(部分还包括5.x)

有一个半隐藏的权限管理器(App Ops),可以通过第三方应用程序访问,但不需要root或自定义ROM。 Android Police已在此处进行了介绍。

但是请注意,Google曾说过它是错误发布的,而较新版本的Android再次禁用了此功能。

Android 4.4+

除上述App Ops之外,您还可以在此处将Xposed Framework(适用于Android 5+,请参见此处)与Xprivacy或Protect My Privacy等模块一起使用。虽然这将需要扎根您的设备,但它还提供了其他功能。

Android 6+

marcioggs在单独的答案中概述了Android M中提供的功能。

评论


如果您是root用户,则可以使用DroidWall排除网络访问权限,但这是特定的例外。

–树
2010-11-24在16:11

不幸的是,Google决定将许多娱乐应用程序需要的事物归为一组,例如,与没有电话功能的应用程序很少需要的事物(例如确定电话号码)在同一许可下,确定是否有通话处于活动状态。

–克里斯·斯特拉顿(Chris Stratton)
2011年5月14日6:23



#2 楼

CyanogenMod 7支持此功能。通过转到Settings->CyanogenMod Settings->Applications并检查最新版本的“权限管理”来激活它。然后,您可以通过从应用程序管理列表(Settings->Applications->Manage applications)中选择一个应用程序来允许和禁止权限。有一篇关于endgaget的文章,带有YouTube演示。

免责声明:这对于某些人来说可能是显而易见的,但拒绝对应用程序的许可可能会导致相当严重的崩溃后果。尽管如此,如果您拥有受CM支持的设备,并且愿意根安装它,则可以享受逐许可控制(及其附带的任何危险)。

在实际上,由于权限管理实现容易导致崩溃,因此已从版本9的CyanogenMod代码库中将其删除。但是,最新的CyanogenMod 10.1夜间版本现在包含一个被称为“隐私卫士”的功能。而不是阻止应用访问他们请求的数据,Privacy Guard将为他们提供空白数据。

例如,如果在Privacy Guard下运行的应用请求您的联系人列表,则CM只会返回一个空列表,导致该应用在功能上认为您的手机上没有存储任何联系人。

评论


可悲的是,不考虑将伪造数据集成到CyanogenMod中。

–丹尼斯·尼古拉连科
2011年7月28日在19:53

#3 楼

有一个App Shield应用程序。它实质上是对.apk进行重新打包,并从清单中删除权限。股票,无根电话的精妙构想。但是,像CyanogenMod(从版本7开始)一样,它很容易崩溃(强制关闭)。目前可以在某些“个人Aptoide存储库”中找到它。在Mixal和Karbyfio。建议现在使用最新的内容。

#4 楼

注意:LBE Privacy Guard不再维护,仅适用于4.2以下的Android版本。警告:如果您使用的是Jelly Bean(Android 4.1+),请确保检查LBE是否已更新杰利·宾(Jelley Bean)。目前(2012年7月27日)它仍不兼容,这将导致您的设备在Jelly Bean上启动循环。这意味着您可能必须将设备恢复出厂设置。现在建议改为使用Xprivacy(需要root用户)。


LBE Privacy Guard可以在安装期间和安装之后阻止每个应用程序的特定权限。这是已经存在了一段时间的看似中文应用程序的英文版(我没有任何隶属关系);它已经有超过100,000个下载。我还没有尝试过,但是我计划明天再尝试。

您还可以设置它,例如让Facebook在要访问您的位置时显示提示(是/否)。等等。来自Play商店的屏幕截图:



评论


我认为这是最好的权限管理应用程序-我已经使用了一段时间,它非常出色。

–登录
2012年7月14日14:31

@Logos:我已经使用了几个小时,我同意!

–地狱犬
2012年7月15日在2:35

在CM 10.0的Xperia ray上不起作用。我只需要重新安装设备!

–rubo77
13-10-29在19:25

@ rubo77:糟透了! (您在顶部阅读了我的警告吗?)

–地狱犬
13-10-29在23:42

是的,但是我想我可能会摆脱它;)您应该补充一点,没有办法恢复启动循环,并且它在许多设备上都不起作用。查看Play商店中的反馈,恰好一半的选票是5,而半数的投票是1,所以我猜每秒钟设备都会失败

–rubo77
13-10-29在23:47



#5 楼

Android M中将提供以下功能:


在rutime期间根据需要授予特定的权限;
显示应用的权限;
显示使用特定功能的所有应用权限。

用于M预览的文档:

https://developer.android.com/preview/features/runtime-permissions.html

权限屏幕:

(点击图片放大)



#6 楼

您可以将Xposed Framework和App Settings Module一起使用来拒绝应用程序权限。您还可以使用它来更改DPI设置,使应用程序可以在平板电脑模式下在手机上运行,​​反之亦然(以及更改总体大小)。它对我来说效果很好。不过,您将需要root来安装它。

感谢Izzy指出需要模块。根据他们的评论,您还可以使用Xprivacy或“保护我的隐私”来实现此控制。

评论


在撰写此答案时,大多数Xposed框架安装都捆绑了应用程序设置模块。该模块支持此功能。

–Paarth
16 Mar 26 '16在8:06

感谢您仍然关心您的“旧答案”-为此+1 :)那么我们将清除(删除)我们的评论:) PS:请留下您的第一句话,这还是有道理的:)

– Izzy♦
16-3-27在13:19



#7 楼

我偶然发现了一个名为Permission Remover的应用程序,该程序可让您在安装前从APK软件包中删除权限。适用于已安装和下载的APK。此方法很方便,因为它不需要您root设备。

#8 楼

根卸载程序是一款不错的应用(自2016年以来不再在playstore中使用):要撤消仅在CyanogenMod中进入互联网的权利的应用,您可以使用Root Firewall(需要root)。阻止任何应用程序访问Internet。

免费版本可以阻止所有应用程序,也可以仅阻止多达7个不同的应用程序。

#9 楼

在5.1.1之前的Android版本中,没有细粒度的应用程序权限。 Google从6.0开始引入了新的权限模型,其中包括一些基于权限组的控件。但是,如果您已获得运行5.1.1或更低版本的设备的root用户访问权限,则可以使用一些选项将此功能添加到设备中。


Xposed Framework

转到xda-developers.com并搜索“ xposed框架”以获取有关如何安装框架的信息。安装框架后,请安装XPrivacy或“应用程序设置”模块,以更好地控制每个应用程序及其授予的权限。


安装基于Cyanogenmod的ROM

转到Cyanogenmod下载,看看您的设备是否列出。如果不是,请返回xda-developers.com并转到设备论坛页面以找到设备的ROM列表。在ROM线程的原始帖子中查找任何涉及“ cyanogenmod”或“ cm”的内容,以找到正确的基础以授予权限控制访问权限。

希望这会有所帮助。