得益于Project Treble,智能手机设备制造商提供的Android Pie软件更新的速度超过了他们进行Android Oreo更新的速度,至少是旗舰智能手机。不过,Google不想看到只有OEM才能获得Project Treble的好处。该公司此前曾表示有兴趣为开发人员发布Android Q的通用系统映像(GSI),这样他们就不必依赖仿真器,使用云服务或等待自己设备上的更新来对应用进行测试最新的API级别。从理论上讲,发布GSI应该允许任何开发人员使用与Project Treble兼容的设备(最初是Android 8.0)Oreo及更高版本,但现在仅考虑使用Android 9 Pie启动的设备来测试最新的Android版本。开发人员所需要做的就是在现有软件安装之上刷新系统映像,无需自定义恢复,引导或供应商映像。
但是,当前的GSI安装过程存在一些问题。首先,您需要一个解锁的引导加载程序,这在Huawei或Honor设备(不支付费用),HMD Global的Nokia设备(不包括Nokia 8)或美国运营商品牌的设备上是不可能的。接下来,对于不熟悉通过fastboot刷新映像的任何人来说,该过程将很困难。最后,现在刷新GSI将需要您完全擦除内部存储,这意味着您可能需要备用设备进行测试。目前,刷新GSI只是OEM在其设备上测试Project Treble兼容性的方法,除此之外,它仅吸引顽固的定制ROM爱好者。Google的新“动态Android”项目可能会改变这一状况。
动态Android-在任何Android Q设备上轻松测试AOSP GSI
在过去的几个月中,Google一直在研究一种无需启动引导加载程序即可安全引导GSI的方法。简而言之,Google正在开发一种具有特殊权限的应用,该应用允许其下载GSI,为其保留存储空间并将GSI标记为可启动。这个项目有几个组成部分,所以让我们一一讨论。
动态Android和Android On Tap
Android Q新增了两项新服务:动态Android和Android On Tap服务。动态Android处理GSI的安装时,Android On Tap会通过回调和广播意图通知系统应用程序。例如,Android On Tap会提醒KeyguardManager要求用户确认设备是否受PIN,密码或图案保护的安装请求。当用户启动到GSI中时,AOT还会提醒用户。
根据对“ DynamicAndroidManager”的描述,该服务“提供了一种临时使用新的Android图像的机制。” 安装后,设备可以使用新创建的/ data重启进入新安装的映像。在GSI中重新启动会使用户返回到原始系统映像,但是新安装的映像及其数据仅被禁用而不被删除。但是,如果用户选择这样做,则可以完全删除GSI及其数据。