在人们的印象中, 安卓系统一直是开放自由的代表和竞争对手 iOS 相比, 安卓系统不仅仅开源了很大一部分源码, 而且系统的使用限制要少得多你可以在安卓中自由安装 App 自由升降级系统版本自由调用各种 API 实现大量的神奇功能这些体验, 造就了安卓独有的魅力
然而, 很多人并不知道的是, 情况正在渐渐发生改变或许是安卓的自由之风已经强劲到令它脱离 Google 的把控, 在这两年, Google 开始为安卓加上了越来越多枷锁, 以至于有人吐槽说这系统越来越像 iOS
那么安卓最近的版本都增加了什么限制呢? 它真的会变成如同 iOS 那样的封闭系统吗? 我们一起来看看吧
限制系统降级
说起对 iOS 的不满, 相信很多用户都会把票投给系统无法自由降级这点众所周知苹果会在推送新版 iOS 后关闭旧版系统的验证, 就算新系统存在锁频卡顿耗电等槽点, 用户也不得不咬牙忍受相比 iOS, 安卓升级困难, 但降级轻松得多, 很多机器都可以通过 Recovery 或者 Bootloader 轻松降级
不过, 情况正在发生变化, 安卓在系统升降级方面的画风, 也变得越来越像 iOS 了
在安卓 8.0 中, Google 为系统增加了一个名为 Rollback Protection(回滚保护)的安全功能, 该功能会阻止设备回滚到旧版本的固件
Google 认为, 这可以提高安全性, 和新系统相比旧系统存在更多的漏洞, 有可能导致用户的数据泄漏, 因此有必要限制用户降级到旧系统
安卓对系统验证越来越严格, 安卓 8.0 还会限制系统回滚
安卓官网对后台限制的描述, 安卓不再是那么的真后台了
安卓 8.0 对第三方 App 的安装限制更加严格, 不再是在系统中勾选了某个开关就一劳永逸了
非官方公开 API 可能无法在安卓 9.0 中使用了
App 在后台不能再做调用摄像头之类的事情了
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 中突破后台限制, 但安卓后台限制越来越严格的大趋势是显而易见的
2 安卓限制 App 自由安装 / 后台功能? 限制 App 自由安装
安卓自由度的一大体现, 在于用户可以自由安装各种 App, 不需要到特定的应用商店去下载应用这给了用户更多选择, 但也给了恶意代码入侵的机会在近年的安卓中, Google 也开始思考这策略是否真的有必要了
在之前的安卓系统中, 可以在系统设置中开启允许未知来源的第三方 App 安装, 用户可以自由安装 APK 文件这在尽管操作很方便, 但若被引诱安装了恶意软件, 安装未知来源的应用有可能带来潜在的伤害
在安卓 8.0 后, Google 移除掉了容易被滥用的允许未知来源应用的开关如果你还是想要安装某个被自己所信任的开发者的 App, 则需要为每个 App 的来源都手动授予安装未知应用的许可
例如, 你用浏览器下载 APK, 那么就必须赋予浏览器可以安装未知应用的许可; 如果用的是第三方商店, 那么也必须赋予这个商店相关许可
虽然 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 中, 这条路很有可能就走不通了
限制 App 调用乱七八糟的 API 是有利有弊的弊前面已经说过, 这会一定程度上限制推送分享等功能的实现, 那限制 API 有什么利呢?
现在不少 App 为了实现推送功能, 接入的都是第三方推送平台的 API, 这些推送平台除了提供推送服务, 还承包了 App 之间相互唤醒常驻后台这类令人深恶痛绝的毛病毕竟想要一直接收推送, App 的后台就不能随便被灭掉因此, 在安卓 9.0 中, App 常驻后台的一些手段会失效, 这应该算是好事儿了
限制 App 后台功能
安卓 9.0 中除了限制 API, 还开始限制 App 在后台的某些行为在以往, 安卓 App 就算在后台, 也可以悄悄干很多事情, 例如录音录像等等, 很多偷拍 App 就利用这般特性来实现相关功能不过在安卓 9.0 中, 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 开发者大会吧
来源: http://jaq.alibaba.com/community/art/show?articleid=1538