欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

安卓竟变封闭了这么多:越来越像iOS……

程序员文章站 2024-01-19 12:19:34
在人们的印象中,安卓系统一直是开放、*的代表。和竞争对手iOS相比,安卓系统不仅仅开源了很大一部分源码,而且系统的使用限制要少得多。你可以在安卓中*安装App、*升降级系统版本、*调用各种A...

在人们的印象中,安卓系统一直是开放、*的代表。和竞争对手iOS相比,安卓系统不仅仅开源了很大一部分源码,而且系统的使用限制要少得多。你可以在安卓中*安装App、*升降级系统版本、*调用各种API实现大量的神奇功能……这些体验,造就了安卓独有的魅力。

安卓竟变封闭了这么多:越来越像iOS……

然而,很多人并不知道的是,情况正在渐渐发生改变。或许是安卓的*之风已经强劲到令它脱离Google的把控,在这两年,Google开始为安卓加上了越来越多枷锁,以至于有人吐槽说这系统越来越像iOS

那么安卓最近的版本都增加了什么限制呢?它真的会变成如同iOS那样的封闭系统吗?我们一起来看看吧。

限制系统降级

说起对iOS的不满,相信很多用户都会把票投给“系统无法*降级”这点。众所周知苹果会在推送新版iOS后关闭旧版系统的验证,就算新系统存在锁频、卡顿、耗电等槽点,用户也不得不咬牙忍受。相比iOS,安卓升级困难,但降级轻松得多,很多机器都可以通过Recovery或者Bootloader轻松降级。

不过,情况正在发生变化,安卓在系统升降级方面的画风,也变得越来越像iOS了。

在安卓8.0中,Google为系统增加了一个名为Rollback Protection(回滚保护)的安全功能,该功能会阻止设备回滚到旧版本的固件。

Google认为,这可以提高安全性,和新系统相比旧系统存在更多的漏洞,有可能导致用户的数据泄漏,因此有必要限制用户降级到旧系统。

安卓竟变封闭了这么多:越来越像iOS……
安卓对系统验证越来越严格,安卓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,也可以手动在系统中设置后台限制。

安卓竟变封闭了这么多:越来越像iOS……

安卓竟变封闭了这么多:越来越像iOS……
安卓官网对后台限制的描述,安卓不再是那么的“真后台”了

安卓8.0的对后台的限制无疑是比之前的系统严格得多的,例如在之前很多App都会通过Wakelock来唤醒系统,就算在引入了Doze休眠机制的安卓6.0/7.0,也只在熄灭屏幕一段时间后才切断App的Wakelock。在安卓8.0中,只要后台被停止,Wakelock就会立即被切掉,App无法唤醒手机白耗电量。

毫无疑问,安卓8.0的后台机制已经有那么一点iOS的意思。当然,和iOS相比,App仍有一些办法在安卓8.0中突破后台限制,但安卓后台限制越来越严格的大趋势是显而易见的。

2安卓限制App*安装/后台功能?限制App*安装

安卓*度的一大体现,在于用户可以*安装各种App,不需要到特定的应用商店去下载应用。这给了用户更多选择,但也给了恶意代码入侵的机会。在近年的安卓中,Google也开始思考这策略是否真的有必要了。

在之前的安卓系统中,可以在系统设置中开启允许未知来源的第三方App安装,用户可以*安装APK文件。这在尽管操作很方便,但若被引诱安装了恶意软件,安装‘未知来源’的应用有可能带来潜在的伤害。

在安卓8.0后,Google 移除掉了容易被滥用的“允许未知来源”应用的开关。如果你还是想要安装某个被自己所信任的开发者的 App,则需要为每个App的来源都手动授予“安装未知应用”的许可。

例如,你用浏览器下载APK,那么就必须赋予浏览器可以安装未知应用的许可;如果用的是第三方商店,那么也必须赋予这个商店相关许可。

安卓竟变封闭了这么多:越来越像iOS……
安卓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中,这条路很有可能就走不通了。

安卓竟变封闭了这么多:越来越像iOS……
非官方公开API可能无法在安卓9.0中使用了

限制App调用乱七八糟的API是有利有弊的。弊前面已经说过,这会一定程度上限制推送分享等功能的实现,那限制API有什么利呢?

现在不少App为了实现推送功能,接入的都是第三方推送平台的API,这些推送平台除了提供推送服务,还承包了App之间相互唤醒、常驻后台这类令人深恶痛绝的毛病——毕竟想要一直接收推送,App的后台就不能随便被灭掉。因此,在安卓9.0中,App常驻后台的一些手段会失效,这应该算是好事儿了。

限制App后台功能

安卓9.0中除了限制API,还开始限制App在后台的某些行为。在以往,安卓App就算在后台,也可以悄悄干很多事情,例如录音录像等等,很多偷拍App就利用这般特性来实现相关功能。不过在安卓9.0中,App就不再是想要干嘛就能干嘛了,在后台很多功能再也无法实现。

安卓竟变封闭了这么多:越来越像iOS……
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开发者大会吧。