Android App Bundle 已取代 APK,2021最新百度、头条等公司Android面试题目

在 Android Studio 3.2 或更高版本、Unity 2018.3 与 2017.4.17,以及 Cocos Creator 2.0.9 或更高版本中受支持。

对新应用程序的要求

20218月开始,Google Play控制台将要求所有新应用程序具有以下功能:

更新现有应用程序的要求

202111月开始,将需要对现有应用程序进行更新以达到API级别30或更高水平,并针对Android 11中的行为更改进行调整。不接收更新的现有应用程序不受影响,可以继续从Play商店下载。

即时体验的要求

转换为Android App Bundle交付也将影响使用旧版Instant App ZIP格式的即时体验。从2021年8月开始,将需要新的即时体验_和_对现有即时体验的更新来发布启用即时的应用程序捆绑包

一起前进

以下是所有更改的摘要:

发行类型

已更换

要求于2021年8月

Google Play上的新应用 

APK

Android应用程式套件(AAB)

目标API级别设置为29+

目标API级别设置为30+

扩展文件(OBB)

Play Feature Delivery 或 Play Asset Delivery

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

【docs.qq.com/doc/DSkNLaERkbnFoS0ZF】 完整内容开源分享

 

发行类型

已更换

2021年11月要求

更新Google Play上的现有应用 

无需新的发布格式

目标API级别设置为29+

目标API级别设置为30+

Wear OS应用不受新的目标API级别要求的约束。

应用程序仍可以使用任何 minSdkVersion,因此您为旧版Android版本构建应用程序的能力没有任何变化。

Google Play 的应用服务模型使用 Android App Bundle 针对每位用户的设备配置生成并提供经过优化的 APK,因此用户只需下载其运行您的应用所需的代码和资源。

Play Feature Delivery 使用 App Bundle 的高级功能,可将应用的某些功能配置为按条件分发或按需下载。

利用功能模块,实现自定义分发


功能模块的独特优势在于能够自定义应用的不同功能如何以及何时下载到搭载 Android 5.0(API 级别 21)或更高版本的设备上。例如,为了减小应用的初始下载大小,您可以将某些功能配置为按需下载,或者只能由支持特定功能(比如拍照或增强现实)的设备下载。

虽然将应用作为 App Bundle 上传时,默认即可获得高度优化的下载文件,但如需使用更高级和可自定义的 Feature Delivery 选项,您就必须使用功能模块对应用的功能进行额外的配置和模块化处理。也就是说,功能模块为您提供了用于创建模块化功能的基块,而您可以将这些功能配置为按需下载。

假设我们有一款让用户可在网络购物平台上买卖商品的应用。您可以合理地将应用的以下功能模块化处理为独立的功能模块:

  • 帐号登录与创建

  • 浏览在线购物平台

  • 上架商品

  • 处理付款

下表列出了功能模块支持的不同分发选项,以及如何使用这些选项优化示例购物平台应用的初始下载大小。

| 分发选项 | 行为 | 示例用例 | 使用入门 |

| — | — | — | — |

| 安装时分发 | 默认情况下,未配置上述任何分发选项的功能模块会在安装应用时下载。这是一种重要的行为方式,有助于您逐步采用更高级的功能分发选项。例如,只有在使用 Google Play Core 库完全实现按需下载机制之后,您才能受益于应用功能的模块化,并启用按需分发功能。

此外,您的应用可以在之后请求卸载功能。因此,如果您在安装应用时需要某些功能,但之后又不需要了,您可以请求从设备上移除相关功能来减小安装大小。

| 如果应用包含特定的指导 Activity(比如关于如何在购物平台上买卖商品的交互式指南),可以配置为在应用安装时默认包含该功能。

但是,为了减小应用的安装大小,应用可在用户完成该指导后请求删除该功能。

| 使用未配置高级分发选项的功能模块对应用进行模块化处理

如需了解如何通过移除用户可能不再需要的功能模块减小应用的安装大小。

|

| 按需分发 | 允许您的应用按需请求和下载功能模块。 | 如果在使用购物平台应用的用户中,只有 20% 的人发布待售商品,有一个不错的策略可以减少大多数用户的初始下载大小,那就是将拍照、输入商品描述及上架商品的功能配置为按需下载。也就是说,您可以为应用的销售功能配置功能模块,使该功能仅在用户希望在购物平台上销售商品时才下载。

此外,如果用户在一段时间后不再出售商品,应用可以通过请求卸载该功能减小其安装大小。

| 创建功能模块并配置按需分发。然后,应用就可以使用 Google Play Core 库请求按需下载该模块。 |

| 按条件分发 | 允许您指定特定的用户设备需求(例如硬件特性、区域设置和最低 API 级别),以确定是否在安装应用时下载模块化功能。 | 如果购物平台应用的用户遍布全球,您可能需要支持仅在特定地区使用的支付方式。为了减小应用的初始下载大小,您可以创建单独的功能模块处理特定类型的支付方式,并将这些模块根据用户的注册区域视条件安装在用户设备上。 | 创建功能模块并配置按条件分发。 |

| 免安装分发 | Google Play 免安装体验让用户无需在设备上安装 APK 即可与应用互动。用户可以通过 Google Play 商店中的“立即体验”按钮或您创建的网址体验您的应用。这种内容提供形式可让您更轻松地提高应用的使用率。

借助免安装分发方式,您可利用 Google Play 免安装体验,让用户无需安装就能够立即体验应用的特定功能。

| 假设有一款游戏,游戏的前几个关卡包含在轻量级功能模块中。您可以启用该模块的免安装体验,这样用户就可以通过网址或“立即体验”按钮体验游戏,而无需安装应用。 | 创建功能模块并配置免安装分发。然后,应用就可以使用 Google Play Core 库请求按需下载该模块。

请注意,使用功能模块以模块化处理应用功能只是第一步。如需支持 Google Play 免安装体验,应用基本模块的下载大小和给定的启用免安装体验的功能必须满足严格的大小限制。如需了解详情,请阅读通过减少应用或游戏大小启用免安装体验

|

应用模块化


对应用进行模块化处理就是将应用项目的逻辑组件拆分成独立模块的过程。

如需将应用功能妥善地重新组织到不同的独立组件中,您需要花时间仔细构思。不过,模块化能给您的项目带来以下好处:

  • 并行开发:通过将应用的逻辑组件拆分成不同的模块,组织中的不同团队或个人可以认领并负责不同的模块,从而减少合并冲突以及对其他团队的干扰。此外,如果有应用的各个部分共用的逻辑,可以使用库模块来促进代码重用和封装。

  • 缩短构建时间:构建系统(例如使用 Gradle 的 Android Studio 构建系统)针对划分成模块的项目进行了优化。例如,如果您在配备多核处理器的工作站上启用 Gradle 的并行项目执行优化,构建系统就能够并行地构建多个模块,从而显著缩短构建时间。项目的模块化程度越高,构建性能的改进就越明显。

  • 自定义 Feature Delivery:将应用的功能模块化处理为功能模块,是利用 Play Feature Delivery 的自定义分发选项(如按需分发、按条件分发和免安装分发)的前提条件。创建按需功能所需的工作量更大,并可能需要重构应用。因此,请仔细考虑“模块化处理为功能模块”和“从自定义分发选项中获益”这两者对应用的哪些功能益处最大。

如需按应用功能恰当地对项目进行模块化处理,您需要花费一定的时间认真考虑。当您决定开始对应用进行模块化处理时,首先应该用支持模块化功能所必需的属性配置基本模块。然后,您可以将功能模块配置为安装时分发,从而逐步对应用功能进行模块化处理,而不更改应用的当前行为。

功能模块清单


当使用 Android Studio 创建新功能模块时,IDE 中包含了模块作为功能模块正常运行所需的大多数清单属性。此外,有些属性是在编译时由构建系统注入的,因此您不需要自己指定或修改它们。

注意:在将 android:exported 设置为 true 的情况下,功能模块不得在其清单中指定 Activity。这是因为,当其他应用尝试启动相应 Activity 时,无法保证设备已下载相应的功能模块。此外,应用在尝试访问功能的代码和资源之前,应该先确认该功能已下载。如需了解详情,请参阅管理已安装的模块

测试 Play Feature Delivery


测试 Play Feature Delivery 的最佳方法是通过 Google Play 商店进行测试。这是因为 Play Feature Delivery 许多优势的实现都有赖于通过 Google Play 商店生成、签署和提供优化的 APK。因此,无论您是上传 App Bundle 还是配置更高级的分发选项,都应该使用以下方法测试应用。

  • 通过网址分享应用。通过这种方式,您能够以最快的速度上传 App Bundle 并通过 Google Play 商店中的链接将应用分享给受信任的测试人员。此外,这也是测试自定义分发选项(如按需下载功能)的最快方法。

  • 设置开放式、封闭式或内部测试。该方法提供结构化的测试通道,可以在面向外部用户发布应用之前,充分地测试应用的最终发布版本。

为资源构建 URI

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值