国产软件往往会申请与之功能不符的权限,读取着用户手机信息,开机后就驻足系统,这些对于注重隐私的用户来说都是问题。如何“干净”地安装国产流氓软件呢?笔者整理了一些思路供大家探讨。
国产app的全家桶问题一直被大家诟病,一个应用启动后就会“唤醒”其“家族”内的其他应用,有时还会通过其他方式确保应用始终在后台运行;与此同时,很多应用还会申请与之功能完全不符的权限,这些严重破坏了Android系统的体验。
要获得一个纯净的体验,我们需要解决的是两种问题,首先是软件自启动、驻足后台、频繁唤醒;其次是应用对手机信息的读取。对应这两个问题,我们要寻找各种解决方案,而手机本身的环境也是我们需要考虑的因素。笔者将“环境“分为三类:已安装Xposed框架、已root、未root,三种环境下解决问题的难度也各不相同。
Xposed
Xposed简单来说是一个框架,它可以不修改APK的情况下改变系统和应用程序的行为,所有的更改都在内存中。
如果你安装了Xposed,问题就变得简单了,得益于其强大的可定制性,Xposed中有大量应用软件能够满足你的需求。绿色守护(Greenify)的Xposed模式可以阻止应用在后台运行并且禁止链式唤醒,最近新加入的“处方”模式还可以屏蔽软件广播。
Android平台的应用程序分为七个优先级:前台进程、可见进程、主要服务、次要服务、后台进程、内容供应节点、空进程。
第6级别就是一些动作标记,程序设定了遇到什么节点时将采取什么动作,比如:插入耳机线,就是一个“内容供应节点”,收音机程序遇到这个“节点”就会激活并自启,变成后台进程了。要想收音机不会因此启动,有两个办法,要么屏蔽这个节点,使你无论是否插入耳机线,都不产生这个节点的信号,要么我们冻结收音机程序,让他感受不到这个节点。一些无良的应用,动不动就自己在后台启动了,就是这个道理。绿色守护能将一个程序绿化,就是使其感受不到“指定的”“内容供应节点”,从而当发生这些“节点”时,程序不会自动启动,除非用户自己让它启动(用户的点击程序图标也是一个“内容供应节点”)。
想要更直接地阻止应用后台运行,也可以使用“阻止运行”和“黑域”。
除了绿色守护,为了保障你的隐私,你还应该安装Xprivacy,这款软件可以设置软件读取隐私信息的权限。对于某些“流氓”应用强制用户开启权限的情况,Xprivacy还可以伪造随机信息从而保障隐私。原理也是利用Xposed框架能够修改内存信息的方法修改软件获取到的信息。
Root
Android平台本来有类似iOS推送服务APNS的GCM(Google Cloud Messaging),但由于众所周知的原因,这项服务在国内非常不稳定,于是各大厂商就纷纷推出自己的推送服务,而利用这些推送服务,往往一个app开启后就会其他应用都可能关联启动,尤其以百度、阿里、腾讯为甚。这也就是前面所说的“全家桶”。
如果你Root了手机,写轮眼(My Android Tools)可以说是一款神器,它能够禁用activity、service、receiver、provider,其中的Service就包括软件用来接收推送的服务,因此,写轮眼(My Android Tools)可以阻止软件唤醒。除此之外由于能够禁用activity、service,它能做的还不止这些,经过合理配置,写轮眼能够帮你屏蔽广告,优化软件。
对于那些不常用的软件,可以使用“冻结”类应用将他们禁用。“冰箱”就是其中的代表。它的原理非常简单,adb中提供了一个adb shell pm disable命令,在root权限下可以直接用来冻结app,而冰箱基本可以理解为使用了adb shell pm disable命令。不过它提供了非常方便的launcher,让你能够快速地启动冻结app。
保护隐私方面,对于已经Root的手机,可以使用AppOps应用控制应用权限。很多国产ROM甚至系统原生ROM都有权限控制,但首先,这些权限往往不完整;其次,AppOps能将权限设置为ignore,很多国产软件会强制用户开启部分权限,设置ignore后,应用会得到数据,但数据为空,从而绕过这些权限申请。比如如果我们直接拒绝微信使用电话权限,就无法正常进入微信,而用AppOps将权限设为忽略就可以顺利进入。
左图为 通过系统权限管理拒绝微信读取设备ID,右图为 通过AppOps忽略微信读取设备ID请求
未Root
未Root手机其实本文的重点。笔者自从去年入手了S7 edge后就一直纠结于是否Root。Root后永久无法使用Samsung Pay,更可怕的是还会导致前置摄像头黑屏、系统卡顿发热等各种问题。可是又无法忍受各种流氓软件在手机里捣乱,因此一直在寻找方案。
(责任编辑:安博涛)