谷歌现在将要求静默卸载应用程序之前提示OEM

2020-08-25 15:04:01

随着每个新版本的Android的发布,将进行大量更改。例如,Android 7.1 Nougat引入了应用程序快捷方式,圆形图标支持和键盘图像插入。但是,对操作系统进行的许多细微更改也只有开发人员和OEM真正关注。对于OEM,他们还必须注意对Android兼容性定义文档(CDD)所做的任何更新。本文档概述了设备要满足与最新版本的Android的兼容性要求所必需的硬件和软件要求。如果设备不满足这些要求,则它们可能会无法通过Google的兼容性测试套件-导致无法访问Google的应用程序套件。

当Android 7.1 Nougat的CDD发行时,与7.0的文档引起的兴趣相比,它受到的欢迎很少。不过,这并不奇怪,因为7.1只是对Android的次要升级,因此预计不会有太大变化。但这并不意味着 没有任何值得注意的变化。今天, AndroidPolice在更新的文档中发现了某种语言,指出OEM将被禁止修改Android Nougat中引入的通知行为-直接答复和通知捆绑。通过对我们自己的一些挖掘,我们发现在文档中引入了一些更有趣的语言。

该文档的第4节标题为“应用程序打包兼容性”,定义了设备实现必须如何管理APK安装。在本节的底部,有一个新的段落,指出系统安装的应用程序在不提示用户的情况下不再可以卸载软件包。

设备实现必须不允许该软件包的当前“记录安装程序”之外的应用程序无提示地静默卸载该应用程序,如SDK中DELETE_PACKAGE权限所述。唯一的例外是系统软件包验证程序应用程序处理PACKAGE_NEEDS_VERIFICATION意图和存储管理器应用程序处理

ACTION_MANAGE_STORAGE意图。

这实际上是在说,只有负责安装软件包的应用程序才可以卸载该软件包。例如,如果您通过Google Play商店安装应用程序,则该应用程序仍然可以卸载该程序包。该规则的唯一例外是系统软件包管理器正在验证应用程序时以及使用新的Android Nougat存储管理器功能时。

为了删除不被视为“记录安装程序”的软件包,应用程序需要具有DELETE_PACKAGE权限。幸运的是,此权限仅限于系统应用程序,因此,似乎并没有欺骗您向该应用程序授予此危险权限(除非您授予恶意应用程序根访问权限,但是所有赌注都没有了)。Android权限清单文档指出,每当系统应用程序请求删除另一个软件包时,都会要求用户确认。但是,即使在Android 7.0的开发人员参考页中引入了该语言,Google还是仅在Android 7.1中将此用户提示作为要求。

我们还没有听说过OEM暗中恶意卸载您的应用程序的任何示例,因为这无疑是一个大丑闻。当许多API级别都存在危险的许可时,我们很高兴看到现在引入此要求和语言。最有可能发生的事情是,谷歌正在打击安装在某些智能手机系统级别的第三方清洁器应用程序,而是在推动OEM采用其新的Storage Manager功能。

郑重声明:本文版权归原作者所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。