Android 安装包要从 APK 变成 AAB 格式了?事情可能并非你想的那样

Android 安装包要从 APK 变成 AAB 格式了?事情可能并非你想的那样,第1张

玩过王者荣耀的朋友,几乎无人不晓「鲁班七号」这个英雄。

作为 Android 的应用程序包,「APK」对于资深 Android 用户来说,知名度并不亚于前者。

Google 宣布,从 2021 年 8 月开始,Google Play 商店将要求开发者使用 Android App Bundle(AAB)发布新应用。这将取代 APK 作为标准发布格式

消息一出,一些用户开始猜测甚至担忧:「以后还能借一部稿拿 APK 说话吗」?「Google 是不是在故意为难国产品牌」?

实际上,有这些疑问的朋友,大概率误解 Google 的这个动作了。

这次舆论漩涡的中心,就是 AAB 格式。所以首先我们要搞清楚,AAB 是什么。

在 2018 年 5 月举行的 Google 开发者大会上,Google 就已公布了 Android App Bundle(AAB)格式,并称这是其现代化开发的一部分。

Google 介绍道,开发者在上传应用至 Google Play 时,需采用 AAB 格式。Google Play 将负责生成 APK 文件及签名。

这句话有两个重点。

一是 AAB 只是上传时应用的格式,用户下载时,获取的依旧是 APK。

对于开发者来说,从 APK 转战到 AAB 没什么痛点。AAB 是一种开源格式,在构建时,选择相关的工具或引擎即可。

用户这边更不必担忧,因为我们在终端设备上看到的,依旧是 APK 格式。

二是生成 APK 的工作,将由 Google Play 完成。

Google Play 将根据用户设备的配置,从 AAB「源文件」里提取、组装适合该用户设备的代码及资源,从而生成 APK 安装包。

也就是说,这时用户下载的应用,已经过 Google Play 优化,以确保该应用可在当前设备上以最佳状态运行。

换种说法,方便你理解:AAB 就像是一袋方便面,里面有各种口味的调料包。Google Play 就是大厨,它会根据你设备的喜好,来判断面要煮多久、放什么调料包。

最终煮好的面,就是 APK 了。

Google 之所以要「强硬」地推行 AAB 格式,很大原因是 AAB 相比 APK 有着多种先天优势。

第一点,是体积轻盈。

上文说到,Google Play 会从 AAB 里,个性化地生成并优化 APK,以针对不同配置的设备、语言进行分发。

举个例子:假设你的手机是 2K 屏幕,首选语言是中文。那么 Google Play 在拼装 APK 时,就会只把 2K 分辨率、中文字符包的资源放进 APK 里。

而传统的 APK,开发者会将各种分辨率和语言包,打包在一起。用户下载下来,手机需要从中挑出适合自己的资源安装运行。

随着机型的不断增加,开发者需要在 APK 文件好敬滚里塞上越来越多的资源,来提高适配性。因此,App 越来越大,动辄上百 MB。

那么 AAB 的应用,相当于「把复杂留给 Google Play,把简单留给用户」。用户下载的 APK,是经过 Google 精简过的,因此体积会小一些。

那么会小多少呢?根据 Google 的说法,此举可将 APK 的体积压缩 15%。

不过实际情况可能要好于这一预期。例如爱彼迎在拥抱 AAB 后,体积减少了 22%。Netflix 更甚,达到了 57%。

所以对于用户来说,可感知的一点就是安装包变小了,下载、安装的速度会更快。

其次,AAB 使得用户下载的应用,最大程度地符合设备配置,因此运行起来或许会更流畅。某种程度友余上算是提升了设备性能。

第二点,是应用模块化。

AAB 允许开发者将应用的功能拆分开来。让有需要的用户,自行下载。

我们继续举例子。假设开发者现在要做一个拍照 app,我的手机是单摄,你的手机是双摄。为了减小应用初始的大小,开发者可以把某些功能,设置为按需下载。

比如你想用这款 app 里,针对双摄手机推出的功能,你就下载额外的资料包即可。

开发者还可以决定什么时间,向什么机型推送应用的新功能。相当于自定义和掌控各类用户的体验。

「你我用着同一个 app,但享受着不同功能」的情况,或在将来成为常态。

第三点,是免下载体验。

AAB 的免安装分发特性,可让用户在 Google Play 里,无需下载应用,便可体验到应用的某些功能。

比如有一款 游戏 ,我们不确定是否值得下载,就可以点击「立即体验」,试玩前几个关卡,且不用下载该应用。

这有点像 iOS 14 新增的 App Clip 功能,可以被看作完整版应用的快捷方式,当中会包含应用的一部分功能。

iOS 14 的 App Clip 功能

所以对于用户来说,AAB 格式的推广,我们是可以感知到的,且会有更好的体验。

光打用户体验牌肯定不行,还得考虑开发者的感受。为了让他们有动力转战 AAB 格式,Google 给出了多个理由:

不感兴趣也没关系,那就来「硬的」:8 月起,应用程序包不改成 AAB 格式,就不许上传,逼迫着开发者进行转变。

这足以见得 AAB 对于 Google Play 未来规划的重要性。

推广 AAB 格式,对于大众用户来说绝对是一件好事。谁不希望自己下载的应用,体积又小、适配又好呢?

不过,Google 只是要求 Google Play 这样做,没有强制其他应用商店跟进。

也就是说,如果你没有在使用 Google Play,那么这个改动暂时是感知不到的。

但 AAB 格式的优点这么多,我们有理由相信,国内的应用商店会逐步跟上 Google 的步伐,拥抱 AAB。

而且我们上文说到,用户下载的安装包,依旧会以 APK 格式呈现。因此那些「Google 此举是为了针对国内厂商」的谣言,也就不攻自破了。

何况华为等应用商店,从前两年开始,就已经支持开发者上传 AAB 格式的应用。所以用户们大可放宽心,静等 AAB 格式推广的红利即可。

一.安装并配置DirectX SDK

1.把DirectX SDK里的include文件夹添加进包含文件中

2.把DirectX SDK里的Lib\x86文件夹添加进库文件中

3.把DirectX SDK里的Utilities\Bin\x86添加进可执行文件中

二、安装并配置OGRE SDK 1.7

1.把OgreSDK_vc9_v1-7-0\include\OGRE添加进包含文件中

2.把OgreSDK_vc9_v1-7-0\boost_1_42添加进包含文件中(注意:由于ORGE中使用了boost不 添加这个的话就会提示少tss.hpp)

3.把OgreSDK_vc9_v1-7-0\lib\debug添加进库文件中

4.把OgreSDK_vc9_v1-7-0\boost_1_42\lib添加进库文件中

三、手动编写ORGE项目或者使用向导创建ORGE项目

1.把OgreSDK_vc9_v1-7-0\bin\debug中的resources_d.cfg跟plugins_d.cfg文件重命名为resources.cfg和plugins.cfg

2.OgreMain_d.dll,OIS_d.dll,RenderSystem_Direct3D9_d.dll,RenderSystem_GL_d.dll跟resources_d.cfg跟plugins_d.cfg拷贝到你的项目的Debug中或者把项目/属性/调试/中的工作目录设置成OgreSDK_vc9_v1-7-0\bin\debug

3.如果使用向导的话可以先到:http://sourceforge.net/projects/ogreconglo/files/下载,然后把我的电脑/属性/高级/环境变量/用户变量中添加一变量名为OGRE_HOME,变量值为你的OGRESDK安装跟径.最后在解压的向导文件夹中右击VC9_Setup.js选在命令提示符中运行就可安装完毕.接下来打开VS 2008后新建项目在VC++中可以找到OGRE SDK Application模板了.使用它创建项目编译就可成功了.

本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/wj_1986/archive/2010/06/12/5665517.aspx


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/12504622.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-25
下一篇 2023-05-25

发表评论

登录后才能评论

评论列表(0条)

保存