在人们的印象中,安卓系统一直是开放、自由的代表。和竞争对手iOS相比,安卓系统不仅仅开源了很大一部分源码,而且系统的使用限制要少得多。你可以在安卓中自由安装App、自由升降级系统版本、自由调用各种API实现大量的神奇功能……这些体验,造就了安卓独有的魅力。
然而,很多人并不知道的是,情况正在渐渐发生改变。或许是安卓的自由之风已经强劲到令它脱离Google的把控,在这两年,Google开始为安卓加上了越来越多枷锁,以至于有人吐槽说这系统越来越像iOS。
那么安卓最近的版本都增加了什么限制呢?它真的会变成如同iOS那样的封闭系统吗?我们一起来看看吧。
限制系统降级
说起对iOS的不满,相信很多用户都会把票投给“系统无法自由降级”这点。众所周知苹果会在推送新版iOS后关闭旧版系统的验证,就算新系统存在锁频、卡顿、耗电等槽点,用户也不得不咬牙忍受。相比iOS,安卓升级困难,但降级轻松得多,很多机器都可以通过Recovery或者Bootloader轻松降级。
不过,情况正在发生变化,安卓在系统升降级方面的画风,也变得越来越像iOS了。
在安卓8.0中,Google为系统增加了一个名为Rollback Protection(回滚保护)的安全功能,该功能会阻止设备回滚到旧版本的固件。
Google认为,这可以提高安全性,和新系统相比旧系统存在更多的漏洞,有可能导致用户的数据泄漏,因此有必要限制用户降级到旧系统。
安卓对系统验证越来越严格,安卓8.0还会限制系统回滚
Google这个说法和苹果的理念是颇为类似的。但实际上,用户并不会太过关心看似和自己毫无关系的安全问题,系统是否顺手更加重要。安卓8.0新增的“回滚保护”限制系统降级,遭到了口诛笔伐,但所幸的是Google并没有做得像苹果那么绝。
安卓8.0引入的“回滚保护”并非是一项定死的功能,它和安卓的Bootloader一样,都可以选择是否激活。换言之,如果制造商愿意,也可以关闭该项功能,不过就如同解锁了Bootloader一样,关闭了“回滚保护”也会在系统启动时出现一堆警告。
从这个角度来说,其实利用“回滚保护”限制系统降级并不会带来什么实质性的改变——在之前厂商也可以通过Bootloader来限制刷入旧系统,现在只是多一种手段,该开放该封闭还是会照旧。
限制App后台运行
和iOS相比,安卓“真后台”是另一个独到的优势。我们知道安卓App能够在后台持续运行,这可以实现多任务,例如一边上网一边在后台用迅雷下载还一边解压缩等等。不过,在新版的安卓系统中,App后台运行遭遇了史无前例的限制力度。
在之前的安卓系统中,App可以在后台驻留服务,利用广播来激活一些任务(例如自启动)。然而在安卓8.0中,Google同时对后台服务和广播进行了限制。
如果你在安卓8.0中利用API level 26以上的Target SDK来开发App,那么系统默认就会对后台服务以及广播都进行严格限制,后台在几分钟内就会被停止;而如果App没有使用这么高的API,也可以手动在系统中设置后台限制。
安卓官网对后台限制的描述,安卓不再是那么的“真后台”了
安卓8.0的对后台的限制无疑是比之前的系统严格得多的,例如在之前很多App都会通过Wakelock来唤醒系统,就算在引入了Doze休眠机制的安卓6.0/7.0,也只在熄灭屏幕一段时间后才切断App的Wakelock。在安卓8.0中,只要后台被停止,Wakelock就会立即被切掉,App无法唤醒手机白耗电量。
毫无疑问,安卓8.0的后台机制已经有那么一点iOS的意思。当然,和iOS相比,App仍有一些办法在安卓8.0中突破后台限制,但安卓后台限制越来越严格的大趋势是显而易见的。
安卓限制App自由安装/后台功能?限制App自由安装
安卓自由度的一大体现,在于用户可以自由安装各种App,不需要到特定的应用商店去下载应用。这给了用户更多选择,但也给了恶意代码入侵的机会。在近年的安卓中,Google也开始思考这策略是否真的有必要了。
在之前的安卓系统中,可以在系统设置中开启允许未知来源的第三方App安装,用户可以自由安装APK文件。这在尽管操作很方便,但若被引诱安装了恶意软件,安装‘未知来源’的应用有可能带来潜在的伤害。
在安卓8.0后,Google 移除掉了容易被滥用的“允许未知来源”应用的开关。如果你还是想要安装某个被自己所信任的开发者的 App,则需要为每个App的来源都手动授予“安装未知应用”的许可。
例如,你用浏览器下载APK,那么就必须赋予浏览器可以安装未知应用的许可;如果用的是第三方商店,那么也必须赋予这个商店相关许可。
安卓8.0对第三方App的安装限制更加严格,不再是在系统中勾选了某个开关就一劳永逸了
虽然Google并没有完全限制用户安装App,但是正在加入更多的限制。在未来,安卓说不定得输入密码/验证指纹才能安装其他来源的App,希望Google永远不会封死这套路,让安卓失去独到的魅力吧。
限制应用使用API
说了安卓8.0的诸多限制,再来说说安卓9.0的吧。和安卓8.0比起来,安卓9.0的限制程度又更上一层楼,例如,安卓9.0可能会采用更加严格的API访问权限,限制应用程序访问Android SDK中未记录的API。
安卓9.0尚未正式发布,但是已经有开发者从报告中得到了一些信息。其中显示,Google会锁定App所能访问的API,系统的某些API不再提供给App接入,而且App难以再使用没有经过认证的API。这会造成怎样的结果呢?直接就会导致诸多App的推送、分享功能失效。
某些App之所以能够实现推送功能,是因为使用了一些第三方的推送平台,需要接入相关的API,在安卓9.0中,这条路很有可能就走不通了。
非官方公开API可能无法在安卓9.0中使用了
限制App调用乱七八糟的API是有利有弊的。弊前面已经说过,这会一定程度上限制推送分享等功能的实现,那限制API有什么利呢?
现在不少App为了实现推送功能,接入的都是第三方推送平台的API,这些推送平台除了提供推送服务,还承包了App之间相互唤醒、常驻后台这类令人深恶痛绝的毛病——毕竟想要一直接收推送,App的后台就不能随便被灭掉。因此,在安卓9.0中,App常驻后台的一些手段会失效,这应该算是好事儿了。
限制App后台功能
安卓9.0中除了限制API,还开始限制App在后台的某些行为。在以往,安卓App就算在后台,也可以悄悄干很多事情,例如录音录像等等,很多偷拍App就利用这般特性来实现相关功能。不过在安卓9.0中,App就不再是想要干嘛就能干嘛了,在后台很多功能再也无法实现。
App在后台不能再做调用摄像头之类的事情了
例如,在安卓9.0中,App就再也无法在后台调用相机权限,偷拍偷录从此不再可能。其实在安卓8.0中,App在后台调用摄像头,系统就已经会在通知栏显示警告信息,在安卓9.0中Google终于把事情做绝,彻底拦住了App在后台偷拍的动作。
而除了禁止后台调用摄像头,安卓9.0还会干扰后台通话录音,会自动把频率为1400Hz、每15秒钟重复一次的提示音添加到通话中,让对方意识到目前这趟电话有在录音。另外,App在后台的地理定位功能也收到了限制,App不能再一直请求定位,而是只能间隔一段时间发送一次定位请求。
安卓9.0对后台的功能限制、干扰,其实是有利于保护隐私的,不过这也让系统功能缺了些自由度,一些实用的App无法再生效——例如某些防盗App检测到手机被偷,会自动拍下照片传给失主,这在新系统做不到了。
安卓的这个做法无疑也是在像iOS靠拢,当然目前它还不至于像iOS那样,限定App在后台只能做播放音乐、下载等有限的事情。
总结
尽管在移动市场中,安卓依然是自由的代表,但其实安卓一直都在不断增加各种限制,例如把越来越多的代码从开源的AOSP剥离到闭源的GMS,加入App权限管理系统,限制App向存储目录写入数据等等。
每一代新发布的安卓,基本都是限制最严格的安卓。沿着这个趋势,安卓最终是否会和iOS殊途同归?安卓9.0又会带来怎样的体验?让我们期待5月份的Google I/O开发者大会吧。