鸿蒙该如何破解谷歌的损招?
Android(安卓)平台的 .apk 文件,大家应该不陌生吧?安卓用户所使用的所有软件、应用都是基于 .apk 的应用程序包。
通过 .apk 文件,安卓用户可在其他平台自由分享安装包。不需要应用商店,只要能下载到,就能安装使用。
而 .apk 安装包的存在,就能摆脱应用商店束缚,自由下载、分享、安装所需的软件,别提有方便了。
同样的,华为鸿蒙 OS 目前正处于初期阶段,开发团队考虑到原生应用开发成本、难度、用户学习成本等问题,也使用了 Android 兼容层。
鸿蒙的软件环境目前大多以 Android 应用为主。先兼容再独立,这是件好事,无可非议。不然就成了“巧妇难为无米之炊”。
* Win10 Mobile 就死在无软可用的窘境而最近,果子在翻阅 Android 开发者文档时,突然发现了这样一件事:应用程序包将更新为 .aab 格式,未来 .apk 可能将成为历史。
而这次应用程序包格式更新迭代,果子感觉是“醉翁之意不在酒”,极大可能为了打压鸿蒙 OS 软件环境。
具体情况究竟是怎么回事?听我慢慢道来。
.aab 是什么
.aab 是 Android 全新的应用程序发布格式,其全称为:Android App Bundle ,其地位同 .apk 一致。
这次,谷歌应用商店宣布,从 2021 年 8 月开始,要求新上架 Google Play 的应用必须使用 Android App Bundle 。
那么新的格式 .aab 有什么优点?有什么坏处?为什么说它可能是为了打压鸿蒙 OS ?
在说明之前,先带大家一起了解一下安卓 .apk 分包扩展和 Split APK。
分包扩展
在国内应用商店,大家在下载大型 App ,比如游戏时。
通常情况都需要下载容量 1 G 以上的 .apk 安装包。
但这种大容量的 .apk 在谷歌应用商店是不被允许的,取而代之是使用 .obb 文件—— 也被称为 APK 扩展文件。
使用 apk + obb 的方式,目的是优化用户传输下载,开发者维护体验。
举个例子,大家安装的微信(包名为:com.tencent.mm)国内版本,安装目录会在 /data/app/ 下。
而谷歌版本,还需在 /Android/obb/ 目录下存放微信的 .obb 数据包,该文件为必须,缺失或不匹配都会导致应用运行问题。
同样的,大型游戏软件也是使用该方案,如图为正在下载《英雄联盟手游》的 .obb 扩展包。
Split APK
上面介绍的分包扩展,解决了用户和开发者对大型应用的处理问题。
而从本质上,对应用的运行效率速度没有很大改善。
因此,谷歌引入了 Split APK 概念。
简单的来讲,就是在安装前,会自动检测用户的硬件配置,然后以多个 .apk 的形式安装应用。
如图为 YouTube 客户端安装目录,可见就采用了 Split APK 的方式。
其中,文件名后缀 xxhdpi 为 1080P 分辨率的布局文件、zh 为简体中文资源文件、arm64_v8a 为 64 位处理器架构 lib 库文件。
这样一来二回,虽然方便了开发者维护,提高了用户下载安装、运行效率体验,但也带来了一系列问题。
权限收拢
就目前而言,使用 Split APK 的应用程序,用户是无法直接提取安装的,都需要借助第三方工具来备份安装。
这意味着,未来用户在非谷歌应用商店的第三方平台,下载安装应用会越来越困难。
* 两大知名安卓应用下载平台虽然 .aab 模块化特性,极大的提升了开发者的更新维护的便捷性,节省了用户在安装应用的时间和存储空间 。
就因为 .aab 的存在,随着用户使用设备、所在环境的不同,所安装的应用可能也不尽相同,应用也就是“不完整的”。
并且,通过官方文档,我们发现了:使用 app bundle ,开发者就必须加入 Google Play 应用签名计划。
签名相当于打上唯一的电子标签,因此,如果应用被以非正常方式提取分享,就可能导致签名改变,最终影响应用运行。
除非,开发者自行在第三方平台提供完整的应用安装包。
只能通过指定应用商店下载、应用“不完整”、分享限制。
这些重重限制,Android 用户都有受到影响。
面临挑战
如果说 .aab 应用格式落实,对 Android 用户而言,只是增加了第三方下载应用的难度。
那么对于鸿蒙 OS 而言,这可能是一个巨大的挑战。
开篇已经提到,目前鸿蒙 OS 的软件大多还是以安卓应用为主。所以如果谷歌全面使用 .aab ,肯定会对鸿蒙产生不利条件。
目前华为无法使用 Google ,因此,建立了自己的应用生态 AppGallery 。
但未来 .aab 的应用无法上架,用户不能下载安装,这些问题都需要解决。
可能有人说,只是海外安卓而已,对国内应该影响不到。
但果子要说的是,不要太过于乐观。
比如,目前 Android 11 的定制系统,都无法再访问 data 目录,这就是谷歌强制要求的。
Windows 11 也将面临此问题,前脚刚支持安装安卓 apk ,结果谷歌现在就玩这招,使用户不得不联想到这是垄断行为。
果子始终希望鸿蒙能够早日推出原生 .app 和 .hap 应用程序,真正做出自己的生态,打破垄断。
谷歌,我劝你一句,做不到互利,起码可以共赢!