Google弃用APK更换AAB,国内各机厂何去何从?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Google弃用APK更换AAB,国内各机厂何去何从?相关的知识,希望对你有一定的参考价值。
参考技术Aaab是要用上GMS的,现在的国产机,那个用了gms
再者说,gs在国内就没法上,aab就是个空气。而且国产机那家没自己的app商店?
在国内不是国产适配aab,是要aab适配国产。
最后一点很重要!
android如果敢在下一个版本中禁了apk,那鸿蒙就真的可以笑了。
因为到时国产只是两个半选择,一、旧版本的Android自己维护。二、切鸿蒙。还有半个选择是专门就对海外市场维护aab版的Android。
但是这样的成本是巨大的,而且会造成产品分裂,所以很大的可能就是切鸿蒙。
此外不仅仅是咱们有着各种的UI/OS,国外友商其实也有着自己开发的UI/OS,倒时如果鸿蒙能被国字头放手,丢到海外去[机智]你懂得,Android生生的造出了个强敌。
有影响吗?他有说apk不允许运行了吗?国内的软件有哪一款软件是过了谷歌平台的?需要用到他的GMS的。你这个问题就是个伪命题。至少目前就是。
“鸿蒙系统2.0兼容安卓的APK应用软件”、“微软宣布即将发布的Windows11可以直接安装运行安卓APK应用软件”这两件事的加持之下,Google宣布弃用APK而采用全新的AAB应用软件格式就有点耐人寻味了。
于是很多人就对这件事进行了揣测和润色:“Google意欲对鸿蒙进行阻击和封杀,防止鸿蒙利用安卓生态圈进行成长”、“Google弃用APK格式更改为AAB格式,Windows11原生支持安卓软件这件事要凉凉了”、“Google将安卓应用软件的格式从APK更改为AAB格式,是不想安卓成为别人的附属品,想兼容就兼容”。
安卓应用程序AAB格式取代APK格式只是迟早的事情AAB格式的全称是android app bundle,它是谷歌在2018年推出的格式,直到现在谷歌才宣布:“从2021年8月起,新应用需要使用android app bundle这个格式才能在Google Play上发布”。
实际上AAB可以理解为APK的动态打包,AAB借助Split Apk完成动态加载,大幅度减少应用软件的体积。比如,在APK项目中会同时包含xxhdpi、xhdpi,或者同时包含x86、arm、arm64bit的各一套so库,这些都会全部的装进用户的手机中,而Google Play基于AAB文件处理,我们在Google Play下载应用时会获取你的硬件信息,然后App Bundle会帮我们拼装好一个APK,只有手机硬件相应资源,而其他无关的都会被剔除。
AAB和APK的文件结构基本是保持一致的,只不过android app bundle对于apk的资源从多个维度进行了拆分。这样Google Play就能通过android app bundle进行动态的交付,手机硬件需要什么就给什么。另外android app bundle也支持模块化,将一个apk拆分成多个apk,按照需要进行加载,包括了C/C++ libraries。
android app bundle最终实现的结果和我们所理解的插件有异曲同工之妙,只不过android app bundle需要一过Google Play才能做到按需加载。
国内无法直接使用Google Play,所以也就无法使用AAB这种分发样式,但爱奇艺的开源框架Qigsaw就是一套android app bundle实现的安卓动态组件分发的方案,无需重新安装应用就可以动态的进行组件分发。所以不用担心国内不能使用android app bundle,这项技术国内手机厂商的应用市场很快就会跟进的,毕竟android app bundle并不是什么见不得人的秘密。
APK并没有死,只是它进化了,拆分成了更小的APK单元,这种新的模式毫无疑问显著的减小APP的体积,这样可以花费更少的时间来下载或者安装在存储空间更小的设备上。android app bundle是开源的并且会向后兼容,虽然APK会拆分成很多个APK,但在每个设备配置上仅会生成一个APK,而不是使用拆分的APK,在遥远的未来android app bundle可能会以另一种形态而存在,但不是现在。
总结直到现在小伙伴是否会认为谷歌的AAB格式是为了狙击鸿蒙系统、Windows11而出现,AAB格式并不会妨碍鸿蒙系统、Windows11对于安卓应用的支持。上面的神逻辑也并不符合谷歌开源、开放的姿态,谷歌只会开发出更为新颖、创新的东西来续写他的新神话,而不是活在狭小的格局里。
你自己都说了,是google弃用apk换aab了,这和国内厂商什么关系?
简单点说,aab是开发者提交给google的文件格式,而apk是用户从谷歌商店下载的文件格式。
确切来说,aab就是全量包,里面包括了适配所有机型硬件的资源,比如高通adreno gpu驱动,ARM的gpu mali的驱动等,所以aab是一个面对所有机型,所有硬件的完整包。
正常的使用方式就是,开发者提供给谷歌aab包,谷歌审核上架。用户需要apk的时候,谷歌商店会读取用户的手机型号等硬件资料,然后打包一个适配用户手机硬件的apk下载给用户,用户此时获得的apk就是最精简但却最适配的版本。
谷歌弃apk改aab确有其事,但这句话如果没有上下文,就是断章取义。谷歌限制开发者提供的aab,其实和普通用户没多大关系,你安装的还是apk,只不过是被谷歌优化过的而已。
根据Android Authority官方报道,谷歌并没有完全弃用APK,只是要求开发人员在2021年8月开始,所有提交到谷歌应用商店的应用,都必须以AAB格式提交。 但目前APK的应用依然可以保持原有的方式运行。所以,国内各手机厂商不会有什么太大影响 ,毕竟它们不用谷歌GSM,也不用谷歌应用商店。不是吗?不过,虽然目前没有什么影响,对未来还是需要注意以下几点。
1、APK是否真的落伍了?微软win11刚说支持APK首先说说APK,它是Android Package的缩写,有安卓系统的地方就一定会有APK的影子。国内手机厂商目前使用的应用程序100%都是APK。而谷歌突然说要强制开发者使用AAB格式,难道APK落伍了吗?可近日,微软才刚刚宣布win11系统可以支持原生的Android应用,消费者可以通过在微软商店、亚马逊商店集成实现。从这个消息来看, APK应该还没有到真正没落的时候 。只是,谷歌出了一个新技术,想要推广而已。
再来看看AAB,它是谷歌在2018年推出的一种全新应用程序捆绑包。谷歌自己号称,这种新格式的应用程序文件容量会更小,控制起来更容易,更方便。谷歌商店中已经有数千个ABB应用程序。听起来似乎对消费者和开发者都是一个好消息。毕竟谁都希望程序更小,效率更高、修补更新更快。
然而,谷歌自己也意识到, 要想一下子全面推行AAB并不是件容易的事 。毕竟APK仍然运行流畅,并没有特别大的毛病。所以,它只能要求自己的应用商店必须使用AAB,而无法通过GSM或其他手段要求其他应用商店也必须支持。同时,谷歌还保留了将AAB格式自行导出为APK的功能。消费者如果想要使用AAB格式的新应用,可以自行导出成APK。由此可见,APK依然还有市场,并不会马上没落。国内手机厂商,也暂时不会有什么影响。
2、谷歌商店强制要求用ABB,反应了谷歌的意图谷歌既然已经宣布要在自己的应用市场强制使用AAB格式捆绑包,那自然有它的小算盘。 它除了宣传AAB格式的好处外,也在收紧谷歌应用商店的权利 。消费者和开发者都被谷歌应用商店捆绑在一起,将来,谷歌商店终会成为无法绕开的入口。到那时候,谷歌就可以大肆收割韭菜。这一点和苹果的Apply Store是非常类似的。
同时,开发人员如果要满足将AAB格式导出为APK的功能,很有可能需要向谷歌提供应用程序的的签名秘钥。但是,开发人员都知道,这个应用程序签名秘钥是有相当大的权利的。相当于授权了谷歌可以代表开发人员签署应用程序。当然,我们相信谷歌不会做这么不安全的事,但不代表不会发生。
虽然APK目前不会马上被抛弃,国内手机厂商也可以继续使用APK很长一段时间,但终究受限于别的厂商。如果别的厂商突然改变策略,或者憋个大招,对将来还是会有很大的影响。就像谷歌这次的AAB,虽然不会马上影响到国内手机,但也不代表将来AAB流行起来了不会影响。毕竟应用生态才是手机和系统的关键因素。所以,国内手机厂商们一定要未雨绸缪,一定要有自主研发的意识。能够自主研发的尽量自主研发, 一则可以提高自己手机的用户体验,二则可以为自己沉淀技术,三则可以防范未然 。这也是华为当年之所以要坚持自研的出发点。
总结谷歌推行AAB,对谷歌来说是一件好事。对消费者来说,或许也是个好消息。但对国内手机厂商来说,未必是个好消息。虽然目前不会对APK造成多大影响,也不会影响自己的市场变化。但是,随着时间推移,应用生态可能会改变到AAB格式的生态。所以,国产手机商一定要有自主研发意识。
目前来看,安卓现有的系统可以同时使用APK和AAB两种安装格式。也就是说,APK不是已经被谷歌弃用,而是又添加了一种更优秀的AAB格式的安装包。
因此,至少暂时应该是对国内的安卓应用软件市场不会有太大的影响。但隐患也不是没有。
目前,AAB格式对于谷歌自己的Play Store来说,属于是强制执行了。也就是说,上传到Play Store的软件,都必须用AAB格式打包。但这个强制要求,也只对Play Store有用,国内的各个应用商店是没有这个要求的。而中国人如果不出国,大概是没啥机会接触到Play Store。如此,谷歌的这个AAB安装格式一时半会儿,我们可以不用关心了。
如果要用阴谋论的角度来猜测谷歌这个决定,大概和微软Windows 11会全面兼容APK格式有关了。可以猜测,这是谷歌应对Windows 11的一种策略。理由是,微软在兼容安卓软件方面,不是与谷歌合作,而是与亚马逊合作。两个竞争对手合伙搞事情,谷歌不做出一点反应就太麻木了吧。
理论上来说,鸿蒙是基于AOSP的软件,因此就兼容了APK格式,如果谷歌将AAB仍旧归于AOSP,那么鸿蒙就仍有机会兼容AAB格式。但如果AAB格式归于AOSP,那么微软就仍旧有理由兼容安卓应用软件了。因此,华为鸿蒙大概会被殃及了,属于“城门失火,殃及池鱼”这种情况了,但具体还要继续往下看。
不过,如果下一版的新安卓系统只能使用AAB格式,也不要意外。到那时,国内的软件商店也应该会第一时间跟进,各个软件开发商也会及时跟进。大家总不会得罪客户的。到那时,一定会有一个解决方案满足我们用户的需求。只不过,鸿蒙就比较尴尬了。但其他用安卓的品牌却没啥问题,继续团结在谷歌安卓周围就没事了嘛!
国内除了华为之外,包括但不限于小米、OPPO、荣耀等等品牌目前用的都是用的Android,可以说谷歌这次的改变影响是广泛且深远的。
而谷歌这一波其实也是想模仿苹果,控制下载渠道,提高抽成。说白了就是,要收保护费,要割韭菜。
而且,这招够狠,逼软件厂商替换新格式,但是鸿蒙格式也在适配,差异划快速加剧是不想给鸿蒙留时间!
这是在配和美帝对华为赶尽杀绝!
所以,没有底层根基,就永远是被动挨打的程度。以后越发展留给国内品牌手机的路子就越窄。软件底层系统、应用渠道限制;硬件芯片限制等都需要各厂商去寻求突破,不要在被捏着喉咙,掐着命脉了。
安卓系统未来还会继续兼容APK我们不得而知,不过能确认的是接下来Google Play商店中的所有新安卓应用都需要使用 AAB。
但是,原文其实也没有禁止其他分发渠道,区别就是只能使用Google的签名,所以国内各机厂可以说暂时是不会受到什么影响,以后就很难说了。
所以,还是赶紧自强吧[奋斗]
这不是逼着国内软件开发商弃用安卓投向鸿蒙吗?
商人的考虑与大众是不同的,站在国家的角度我们的企业应该抱团鸿蒙,但是商人不会的,他们看中眼前的利益。试问大家都抛弃安卓拥抱鸿蒙,抛弃高通拥抱国产,即使二十几纳米又能怎么样,商人言商,只希望像华为这类的企业可以定过这个危机。
大概率各个厂商还是用自己的apk,而不会用谷歌自己的私有文件格式,因为他们自己有自己的利益,否则他们自己的软件商店都要归并到谷歌那个软件商店里去,这是厂商不愿意干的。
谷歌弃用APK包格式,转而使用AAB格式
近日,谷歌官方宣布:自 2021 年 8 月起,Google Play 将要求开发者以 Android App Bundle (以下简称 AAB)格式发布新应用,该格式将取代 APK 成为标准的Android应用发布格式。
一直以来,Android 首选的应用程序包就是 APK。APK 是 Android Package 的缩写,即Android 安装包,是一个碗基于 ZIP格式的压缩包文件,里面包含应用代码、图片、音频和开发者生成的应用签名密钥等大量资源。在制作APK包的时候,通过Android SDK 提供的打包工具打包成一个 Android 系统支持的安装程序文件,几乎所有 Android 应用程序都使用这种格式发布。
1, 为何要从 APK 转变为 AAB
一直以来,Android 首选的应用程序包就是 APK,那为什么Android要将安装包的格式从APK转变为AAB呢?有人说是为了应对鸿蒙。在我看来,其实不然,官方之所以这么做,其实是为了降低APK大小的一种手段。
总所周知,一个APK中往往包含应用代码、图片、音频和开发者生成的应用签名密钥等大量资源。不仅如此,为了兼容更多的设备,一个APK还需适配不同的屏幕密度(320dpi、480dpi 等)、处理器(ARM、ARM64、x86等等。但在这种情况下,应用开发者便承受太多:不仅要开发应用,还要管理许多 APK 以支持大量设备。
因此为了省时省力,大多数开发者都会选择构建一个通用 APK,即包含语言包、代码等在内的所有资源。不论用户身处何处、使用何种规格的设备,只需下载这个通用 APK 即可,这就造成APK包大的问题。为了解决这个问题,谷歌在 2018 年 Google I/O 大会上推出了 AAB 格式,希望以此减少开发者的负担,同时也有助于减少应用大小、安装时间和带宽消耗,提高用户体验。
所以说,AAB 格式其实并不是一个全新的应用安装包,而是一套软件的包管理方案,我们可以将它当做一个容器,里面包含着一个基本 APK 和多个用于特定配置的 APK。给予这一机制,很多公司在最近两年都用它实现了插件化和动态化下发的功能,参考文档:Android App Bundle。
因此,一旦开发者选择使用 AAB 格式发布应用,谷歌就会根据用户的设备配置从中生成优化后的 APK 提供给用户。对用户而言,这样的 APK 体积小、安装快,对开发者来说也省事:不必再为各种设备管理一大堆 APK。
AAB 的优势与特点
相较于传统的APK方式,AAB 有哪些优点呢?首先,便是上文所提到的应用体积缩小。据谷歌官方介绍,使用 AAB 生成优化的 APK 体积平均会比一般的 APK 小 15%,而这一数据会根据应用大小有较大起伏。例如 Airbnb 在从 APK 切换到 AAB 格式后应用大小减少了 22%,而 Netflix 更是减少了 57%。
其次,AAB 的 Play Feature Delivery 功能可自定义将哪些功能模块交付给哪个设备,支持安装时交付、按条件交付和按需交付等三种模式。这也就是将应用的功能拆分开来,以此大幅缩短用户下载应用的时间,其中没用的功能用户可以不下载或等到以后需要时再下载。
还有一个 Play Asset Delivery 功能,以动态方式交付大型资源可以减少用户等待时间,同时缩减交付成本。即使用 Play Asset Delivery 的游戏可通过纹理压缩格式作为交付条件,以便用户只获取适合其设备的资源,避免浪费空间或带宽。
如何打AAB包
和APK包的制作流程一样,我们也可以使用Android Studio进行AAB包的制作。首先,选择Android Studio工具栏【build】->【generate singed bundle apk】,如下图。
最后打包完成,会生成一个xxx.aab的文件,如下图:
AAB转APK
虽然从结果看来,以 AAB 格式分发新应用对开发者和用户都有益处,但还是有部分人对此有些担忧。比如,有人就担心因为 AAB 不能在 Google Play 以外的地方下载,会对如亚马逊应用商店等第三方应用商店造成很大影响。为此,谷歌已经开发了一个名为 bundletool 的开源工具,允许开发人员从 AAB 包中创建 APK,因此想在第三方商店中发布 Android 应用程序的开发人员可以手动导出其应用的 APK 版本。转化的命名如下:
abb转apk
java -jar bundletool-all-1.7.0.jar build-apks --bundle=app.aab --output=finalapp.apks --ks=onlinetv.jks --ks-pass=pass:123456 --ks-key-alias=onlinetv --key-pass=pass:123456
安装
java -jar bundletool-all-1.7.0.jar install-apks --apks=finalapp.apks
以上是关于Google弃用APK更换AAB,国内各机厂何去何从?的主要内容,如果未能解决你的问题,请参考以下文章