飞喻小栈

数码小常识

安卓手机如何安装应用商店(安卓到ios一键转移)

如何在Andid手机上安装应用?看到这个问题,可能许多朋会觉得“这太简单”。特别是对于“玩机老手”来说,他们甚至可以一口气举出多种在Andid手机上安装应用的办法。

比如说,可以直接在应用商店搜索想要的应用,然后点击“安装”即可;比如说,还可以自行安装包,也就是APK文件,然后在文件器里点开。当然,更点的话,还可以将手机连接到电脑,然后用ADB程序直接向手机推送安装包。

这几种安装方式装入的程序,在能上有没有区别?按照以往的经验来说,几乎是没有的。但问题就在于,在今年8月份后,这个情况可能就会发生巨大的变化。

因为APK的碎片化太严重,即将放弃

前有显示,自今年8月起,应用商店Play Store的应用上传技术规范将进行调整,已经使用了十年以上的APK安装包将不再作为默认的上传格式,取而代之的将是全新的B格式,也就是Andid App Bund。

为什么要放弃APK?要理解这个问题,我们就必须要明白一件事,那就是发展了十几年的整个Andid开态,到底对者造成了多大的麻烦。

设想一下,如果你是某的者,当需要添加新的内容时需要编写哪些东西呢?

首先,必须要考虑对面上所有CPU架构的兼容。这一点相对比较容易,因为目前主流的手机CPU就只有两种指令集,ARM V7与ARM V8,就算考虑到今年底发布的新品,多也就再加一个ARM V9,也就是只需要写三份主程序代码就行。

其次,现在面上主控芯片通常内建的是高通Adreno、ARM Mali,以及Igination PowerVR三种U方案。由于每一种方案使用的纹理代码、画面技术都是不同的,所以需要准备好三个不同的3D建模数据包,但如果考虑到年底三星使用AMD RDNA2架构U的新旗舰SoC也即将,就需要准备四套数据包才行。

此外,中并不是只有3D画面,通常还会有许多2D菜单及界面元素。而要想让这些内容的显示效果清晰,就得根据各种不同画面比例、不同分辨率的设备,分别做出不同DPI(像素密度)的2D界面。大概做个七八种,应该也就够用了。

一个步骤,就是将上述所有的这些数据整合成一个安装包,也就是APK里,然后进行发布、上传。

不难看出,对于者而言,为了确保应用的兼容,不得不每次都编写大量的兼容代码,从而使得终的APK安装包体积臃肿。而对于用户来说,这也意味着当他们耗费了大量的时间和流量,并安装了想要的应用后,实际上其中可能有大量的代码、数据包都不是针对自己那台手机的,但是这些代码却又会占用存储空间,并间接对能造成不良影响。

B的好处是什么?它能让程序更小更快

明白了传统Andid APK的困境后,我们再来看此次用来替代它的B,其实就明了了。

在上文中的者场景中,这次虽然依旧需要为面上的不同处理器、不同分辨率的设备等,适配各种各样的数据包。但是在一步将所有文件打包时,不再需要构建APK安装包,而是在Andid Studio(提供的编程工具)中选择“Build Bundle”即可。

此时,编程工具不会将所有的打包成一个APK文件,而是会其生成一个个“程序模块”。比如说,有的模块对应的是低分辨率屏幕的界面、有的模块对应高分辨率的界面、有的模块是纯位的ARM v9代码、有的模块是32位的ARM v7代码,还有的则是各种不同U适配的3D材质包。

有的是,这些“程序模块”本身其实也是.APK后缀名的文件,但是它们将无法通过此前的方法进行安装。而者需要做的,就是将它上传到Play Store中,剩下的事情就不需要管了。

这时假使有一名用户正好在Play Store中看到了刚刚上传、采用B技术的应用,那么当其点击“安装”时,手机就会首先将自身的屏幕分辨率、CPU指令集架构、U纹理格式这些信息给应用商店。然后,应用商店就会自动从刚才的那一串“程序模块”里,挑选出这台手机所需要的那几个进行及自动安装。

这就相比于我们前文中所讲到的通过APK安装的应用,藉由模块化B技术安装应用的优势就显现了出来。首先,它不需要手机用不着的那些能模块,因此可以节省流量,能够加快速度。其次,也不会安装手机所不支持的那些部分,因此程序装好后占用的存储空间更小。并且除此之外,它还可以确保手机安装的是适合其软硬件配置的代码,从而应用的执行效率。

不仅如此,B不只可以用于应用第一次安装,其在应用更新时也能够发挥作用。Play Store会识别那些需要更新的“模块”,然后只推送这部分内容的,从而起到加快更新速度、减少流量消耗的作用。

然而从APK变成B,也变相“封闭”了生态

可以看到对于者来说,从APK转向B,虽然不能减少的工作量,但确实可以强化应用的兼容、减少和安装的耗时、使用体验。而对于大部分用户来说,的这一新也确实能够让应用安装后的存储空间占用量更小,应用更新速度更快,乍看之下是一个相当有意义的技术改进。

但问题就在于,从APK切换到B模式后,应用的安装包不再是一个APK文件,而是很多个的模块。并且要命的问题是,虽然这些能模块的文件后缀也是.APK,但它们却无法再在手机上以简单的方式手动安装了。

换而言之,者要么从此以后只能依赖的应用商店作为分发渠道,要么就必须同时传统的单文件APK和新式的模块化B两种安装包。而且此时的APK相比于B,注定还是会存在着文件更大、更慢、安装更占空间、执行效率更低的问题。对于者而言,为了降低自身的工作量、同时避免被用户吐槽,确实就有动机放弃APK,拥抱所倡导的B模块化安装包技术。

但是这样一来,对于那些旨在直接提供APK文件的第三方分发渠道,对于一些技术不过关,实现不了分发能的应用商店来说,此举无异于从源头上给它们“断了粮”。

不仅如此,如果我们联想到近微软Windows 11通过亚逊应用商店支持Andid应用、运行,而且也允许用户自行安装APK的设计,就会意识到此举更是变相地为者将应用分发至Windows11设置了阻碍。毕竟谁都知道亚逊应用商店在技术上确实要落后Play Store不少,大概率是很难短时间里为B这种新的应用分发技术做好准备。再加上采用B封装后,APK文件会变得无法直接安装,这实际上也变相封堵了用户利用Windows11侧载能“直装”Andid应用的渠道。

当然,我们不能说在应用商店里级新技术,目的就是为了“恶心”竞争对手,同时“掉”第三方分发渠道,因为B对于用户是可以带来明显体验的,而且也并没有禁止竞争对手使用它(前提是他们有那个能力)。但至少从其可能导致的结果来看,我们可以说,这已经很明显是在收紧对于Andid生态的控制了。虽然这也有好的一面,但也确实反映了这家巨头如今利用技术优势,为自己在场竞争中提供额外助力的事实。

【本文片来自络】