18910140161

Android应用程序安装方式有很大的改变吗 是技术进步还是垄断关闭?

顺晟科技

2021-07-06 10:15:11

204

声明:这篇文章来自微信公众号《三异生活》(ID 3360 IT-3 ELIFE),作者:三异菌获得转载许可。

如何在Android手机上安装应用程序?看到这个问题,很多朋友可能会认为“太简单了”。特别是对“游戏玩家老手”来说,可以一口气听到在Android手机上安装应用程序的各种方法。

玩手机

例如,您可以在应用程序商店直接搜索所需的应用程序,然后单击“安装”。例如,您可以下载自己的安装包(APK文件),然后在文件管理器中单击“打开”。当然,如果是“”点,则可以将手机连接到计算机,使用ADB程序直接推送安装包。

这几种安装方法加载的程序,性能上有差异吗?根据过去的经验,几乎是没有的。但是问题是,今年8月以后,这种情况可能会发生很大的变化。

由于APK的碎片化太严重,谷歌从今年8月开始调整谷歌官方应用商店Play Store的应用程序上传技术规范,已经使用了10年以上的APK安装包不再作为默认上传格式,而是被新的AAB格式Android App Bundles代替。(威廉莎士比亚,《Northern Exposure》(美国电视剧),《北方执行》(Northern Exposure))。

为什么谷歌要放弃APK?要想理解这个问题,我们必须理解10多年来发展起来的Android开放生态系统给开发者带来了多么大的麻烦。

如果你是某个游戏的开发者,需要在游戏中添加新内容时,你应该写什么?

首先,要考虑与市面上所有移动CPU体系结构的兼容性。这比较容易。目前主流手机CPU只有两套指令集,ARM V7和ARM V8,因此即使考虑到今年年底发布的新产品,也可以再增加一个ARM V9。也就是说,你只需要写三个主程序代码。

第二,目前市面上的master chipe一般都内置了三种移动GPU方案:高通Adreno、ARM Mali和Imagination PowerVR。每个场景的纹理代码、屏幕效果技术不同,需要准备3个不同的三维建模数据包,但年底三星使用AMD RDNA2体系结构GPU的新旗舰SoC也即将上市,则需要准备4套数据包。

另外,手机游戏不仅仅有3D屏幕,通常还有很多2D菜单和界面元素。为了清楚地显示这些内容,需要根据不同的宽高比和分辨率的设备,分别创建不同像素密度(DPI)的2D接口。做7 ~ 8种左右就够了。

最后一步是将上述所有数据合并到一个安装包(APK)中,然后发布和上传。

对于开发人员来说,为了确保应用程序的兼容性,每次都需要编写很多兼容性代码,因此很容易发现最终APK安装包的体积非常庞大。对于用户来说,这也意味着花费大量时间和流量,下载并安装所需的应用程序后,实际上很多代码和数据包可能不是针对自己的手机,但这些代码会占用存储空间,间接对性能产生不利影响。(大卫亚设,Northern Exposure(美国电视),电脑)。

AAB的优势是什么?让程序变小,更快地理解传统Android APK的困境,然后再看看谷歌这次用来代替它的AAB,就知道了。(威廉莎士比亚,《北方执行报》(Northern Exposure))。

在前面的开发人员场景中,这次也需要对市面上的各种处理器、分辨率不同的设备等应用各种数据包。但是,在最后阶段打包所有文件时,不再需要创建APK安装包。相反,您可以在Android Studio(谷歌官方提供的编程工具)中选择“构建捆绑包”。

此时,编程工具不会将所有材料打包成一个APK文件,而是生成一个“程序模块”。例如,有些模块与低分辨率屏幕的界面材料相对应,有些模块与高分辨率界面材料相对应,有些模块是纯64位ARM v9代码,有些模块是32位ARM V7代码,还有适合不同GPU适应的3D材料包。

有趣的是,这些“程序模块”本身也是。以APK后缀结束的文件,但不能用以前的方法安装。开发人员需要做的就是上传到Play Store。其余的不用管。

与传统APK相比,AAB机制不下载手机不需要的功能模块

这时,如果用户在Play Store上看到了使用刚刚上传的AAB技术的应用程序,点击“安装”后,手机将首先向应用程序商店报告自己的屏幕分辨率、CPU指令集体系结构、GPU纹理格式等。然后,应用商店将从刚才那个“程序模块”中自动选择这部手机需要的几个,下载并自动安装。(威廉莎士比亚、模板、应用程序、应用程序、应用程序、应用程序、应用程序)。

这与通过上述APK安装的应用程序相比,通过模块化AAB技术安装应用程序的优点。,不需要下载手机不需要的功能模块,这样可以节省流量,提高下载速度。其次,由于不安装手机不支持的部分,安装程序后占用的存储空间更少。另外,可以在手机上安装最适合硬件和软件配置的代码,从而提高应用程序的运行效率。

此外,AAB不仅可以用于应用安装,还可以在应用更新时工作。Play Store可以智能地识别需要更新的“模块”,然后只推送这一部分的下载内容,从而加快更新速度和减少流量消耗。

但是,从APK到AAB,谷歌也通过“关闭”的生态向开发人员显示,从APK到AAB的转换不能减少开发工作量,但可以加强应用程序兼容性,减少下载和安装所需的时间,提高使用体验。对大部分用户来说,谷歌的这项新政策使安装后占用的存储空间更少,更新应用速度更快,乍一看似乎是相当有意义的技术改进。(威廉莎士比亚,《北方执行报》(Northern Exposure))。

但是问题是,从APK切换到AAB模式后应用的安装包不再是APK文件,而是多个模块。而且,更大的问题是这些功能模块的文件后缀。是APK,但不能再方便地手动安装在手机上了。

也就是说,开发人员此后必须仅依靠谷歌的应用程序商店作为分发渠道,或者同时保留现有的单个文件APK和新的模块化AAB安装包。此外,与AAB相比,APK还存在文件大小增加、下载速度下降、占用空间增加、运行效率下降等问题。有动机让开发者在减少自己工作量的同时,放弃APK,全面拥抱谷歌倡导的AAB模块化安装包技术,以避免用户随地吐痰。(威廉莎士比亚,《北方执行》(Northern Exposure))。

但是这样一来,对于直接提供APK文件下载的第三方分发渠道,对于一些无法实现智能分发功能的技术,谷歌在来源上无异于“断粮”。(威廉莎士比亚,《北方执行报》)。

此外,如果你想起最近Microsoft Windows11支持通过亚马逊应用商店下载和运行Android应用程序,并允许用户直接安装APK的设计,你会发现Google妨碍开发人员将应用程序分发到Windows11。谁都知道,最终亚马逊应用商店在技术上落后于Play Store。大概率是短期内很难准备名为AAB的新应用程序分发技术。(阿尔伯特爱因斯坦、Northern Exposure(美国电视剧),再加上AAB封装,将无法直接安装APK文件,实际上也会阻止使用Windows11侧载功能“直接安装”Android应用程序的用户的频道。

谷歌在开发者网站上采用AAB机制后,列出了应用程序可以节省多少。

当然,不能说谷歌在应用商店升级了新技术。其目的是“恶心”竞争对手,同时“消除”第三方分发渠道。因为AAB可以给用户带来明显的体验提升,而谷歌没有禁止竞争对手使用它(如果他们有这种能力)。约翰肯尼迪,Northern Exposure(美国电视),但至少从可能的结果来看,谷歌显然正在加强对Android生态系统的控制。这也有好的一面,但也反映了这个巨头现在利用技术优势在市长/市场竞争中提供额外帮助的事实。

相关文章
我们已经准备好了,你呢?
2024我们与您携手共赢,为您的企业形象保驾护航