真正解决安卓软件「不给权限不运行」的方法,给它们假权限


2020-05-10 人气: 分类: 手机字数:1452字6 min read

要说 Android 对比 IOS 最大的劣势,一定是对应用权限的控制,权限就像是保险柜的钥匙,保护着用户的隐私信息。
在 Android 系统中,这把钥匙更像是「货币」,用户需要用隐私信息使用应用的「入场券」。有底线的开发商会尊重用户的隐私权、无底线的开发商能把底裤都给你扒光。
而 IOS 中「不给权限不运行」的应用连上架的可能都没有。
不过好在 Android 是一个灵活的操作系统,既然流氓应用想要权限,那就专门伪造一套假权限打发他们吧!

appops权限
在 Android 系统中存在一个叫做「appops」的系统服务,该服务定义了一系列的「应用操作」。其中部分「应用操作」与「权限」对应(如 OP_CAMERA 与相机权限)。
原生 Android 系统使用「appops」来追踪权限使用,「appops」也部分被用于权限控制。每个应用都有自己的「appops」设置,当应用需要执行某些操作时,系统在检查权限的同时也会检查「appops」设置。
与我们现在看到的「允许」和「禁止」不同,实际上「appops」中还有一个「忽略」选项**,当权限设置为「忽略」时,应用将无法获取权限,依然能够正常运行。**
然而遗憾的是,Google 在 Android 4.4.2 开始移除了「appops」的设置入口,从此用户不再能自己调整每个应用的「appops」设置。

appops 权限管理应用
虽然 Google 移除了「appops」的设置入口,但本身「appops」服务依然存在于 Android 系统中,我们可以通过一些第三方软件来管理这些设置,比如「权限狗」和「App Ops」。
「权限狗」下载地址:https://www.coolapk.com/apk/com.web1n.permissiondog

「App Ops」下载地址:https://www.coolapk.com/apk/rikka.appops
这类应用有多种运行模式,有无 Root 都能使用,而且功力不减,它们提供「appops」的设置界面,并且简化了很多操作。

「权限狗」和「App Ops」使用方法都大同小异,本文以的「权限狗」演示。
已 Root 的手机打开应用后可以选择以 Root 模式运行,给予 Root 权限。
没有 Root 的手机要麻烦一些,需要到 系统设置 – 关于手机 – 软件信息 – 疯狂点击编译编号 打开「开发者模式」;
然后用数据线将手机与电脑连接,再勾选**「USB 调试」;**
此时会弹出提示框,请允许 USB调试;
一般这个时候系统会自动安装 ADB 驱动,可能需要稍等片刻。
接着电脑上打开命令提示符,输入:

adb shell sh/storage/emulated/0/Android/data/com.web1n.permissiondog/files/starter.sh

这样,「权限狗」将以 ADB 模式开始工作。

「App Ops」的命令是:

adb shell pm grant --user 0 rikka.appops android.permission.GET_APP_OPS_STATS

如果输入命令无效,是因为系统没有安装 ADB 驱动,请网上下载 Google 官方提供的独立 ADB 工具包;
下载完后将文件夹解压到桌面打开,按住 Shift 右键点击文件夹空白处 – 在此处打开命令行窗口,然后再输入命令即可。
在应用权限设置中,你可以各个应用需要的所有权限,每个权限都有三个选项「允许」、「禁止」、「忽略」;

其中「允许」和「禁止」就是应用索要权限时的两个选项;

而这个「忽略」可就厉害了,它不像「禁止」一样直接不给权限,导致应用罢工不运行,而是提供一个「空白」的权限,比如忽略联系人权限后,应用实际会获取一个空白的联系人信息,一张「空头支票」就能让应用老实运行。
所以我们不想给的权限,就将其设置为「忽略」即可。
但是太多应用一个个设置也是非常大多工作量,我们还可以添加一个通用模板。
右上角三个点 … - 设置– 模板 – 添加模板,然后设置一个通用的权限模板,将权限设置为「忽略」就是关闭权限。

通常重要隐私项就是联系人、通话记录、日历、读取短信等。
模板完成后回到权限管理页,点进要设置权限的应用,右上角 三个点… - 套用模板 即可。
大家可以在统一模板的基础上,再单独修改部分应用的权限。

注意事项
1、所有权限设置均以「appops 权限控制软件」为准。
当你在「appops 权限控制软件」中将权限设置为「忽略」时,第一次打开应用还是会弹出权限索取窗口,但这里不管那个选「允许」还是「禁止」都没关系,实际权限还是「忽略」。
同理,如果以后想要给某个应用权限,也需要到「appops 权限控制软件」修改。

2、权限管理应用不需要在后台允许,因为所有权限设置都是系统层面的,一次修改终身有效,即便卸载「appops 权限控制软件」,修改过的权限依然有效。

3、使用 ADB 模式的用户,每次手机重启都需要重新激活 ADB,也就是连接电脑重新执行一次命令。
不进行这一步操作也没关系,修改过的权限依旧有效,只是无法进入「appops 权限控制软件」管理页面,无法对重新调整权限,新安装的应用也无法修改权限。
4、以 ADB 模式运行的用户,建议在修改完毕后关闭 「USB 调试」和「开发者模式」,避免手机链接电脑或共享充电宝时遭到恶意攻击。


上一篇 电气二次回路线号的标记方案和原则
下一篇 空气开关常问问题