tencent cloud

腾讯云超级应用服务

动态与公告
【2025年1月2日】关于腾讯云小程序平台更名为腾讯云超级应用服务的公告
控制台更新动态
Android SDK 更新动态
iOS SDK 更新动态
Flutter 更新动态
IDE 更新动态
基础库更新动态
产品简介
产品概述
产品优势
应用场景
购买指南
计费概述
按量计费(后付费)
续费指引
停服说明
快速入门
套餐管理
概述
控制台账号管理
存储配置
加速配置
品牌化配置
平台功能
控制台登录
用户和权限体系
小程序管理
小游戏管理
应用管理
商业化
平台管理
用户管理
团队管理
运营管理
安全中心
代码接入指引
Demo 及 SDK 获取
Android
iOS
Flutter
App 服务端接入指南
GUID 生成规则
小程序开发指南
小程序介绍与开发环境
小程序代码组成
指南
框架
组件
API
服务端
JS SDK
基础库
IDE 使用指南
小游戏开发指南
指南
API
服务端
实践教程
小程序登录实践教程
小程序订阅消息实践教程
支付相关实践教程
广告接入实践教程
小游戏订阅消息实践教程
相关协议
数据处理和安全协议

Dynamic Feature 方式集成指引

PDF
聚焦模式
字号
最后更新时间: 2025-08-20 17:32:22

1. 简介

Dynamic Feature 是 Google Play 使用 Android App Bundle 高级功能实现的一套按需分发模块机制, 可以让您按条件分发或按需下载 superapp 的某些功能,在灵活扩展业务的同时,也有效地缩减了 superapp 主包大小,本文介绍了如何使用 Dynamic Feature 机制按需分发超级应用服务(SAS),以减小 SAS 对 superapp 主包大小影响。
在开始前,建议您先了解 Android App BundleDynamic Feature 机制及相关注意事项。

2. 接入步骤

2.1 创建您的 SAS Dynamic Feature Module

参考 Configure on demand delivery,创建您的 SAS dynamic feature module。
主要步骤如下:
1. 参考 Configure a new module for on demand delivery,创建按需模块。
2. 参考 Include the Play Feature Delivery Library in your project,将 Play Feature Delivery Library 引入您的工程。
3. 参考 Request an on demand module,在主包(app module)中实现对 SAS dynamic feature module 的安装请求。
4. 参考 Monitor the request state,监控安装过程。
5. 参考 Handle state updates,处理安装状态更新,比如向您的用户展示下载进度。
6. 参考 Access modules,为 dynamic feature module开启 SplitCompat。
注意:
SAS SDK 已经做过 SplitCompat 兼容了,您只需关心您模块中自有组件即可。
7. 参考 Access components defined in feature modules,访问 dynamic feature module 中的组件。

2.2 在 Dynamic Feature Module 中集成 SAS

1. 参考 SDK 快速集成 在 dynamic feature module 中接入 SAS, 需要注意 SDK 相关依赖项需添加在 dynamic feature module 中
2. 在 app module 的 build.gradle 中添加资源依赖包。
dependencies {
implementation 'com.tencent.tcmpp.android:mini_core_res:{version}' //具体版本号请参考 Android SDK 更新动态
}
说明:
mini_core_res 版本号与 mini_core一致。
mini_core 从 2.2.6版本起支持 Dynamic Feature 机制,请使用2.2.6及以上版本。
3. 为您的 dynamic feature module 创建入口组件,通过该入口组件管理您的小程序。
注意:
记得为您的入口组件开启 SplitCompat,参考 Access modules
4. 在 app module 中访问您的入口组件,拉起您的 dynamic feature module。
注意:
请确保在安装状态更新为 SplitInstallSessionStatus.INSTALLED 之后才可访问dynamic feature module 中的代码。

2.3 测试 Dynamic Feature Module 安装

dynamic feature module 安装可通过两种方式测试:
1. 通过 Google Play 正常上传版本,走在线测试。
2. 参考 Locally test module installs,进行本地测试。

2.4 扩展库集成说明

在 dynamic feature module 中集成 SDK 扩展库,参考 扩展组件 SDK 即可。
注意:
如果扩展库中依赖了其他第三方库,如 Google 地图、Google 广告等,需要将这些三方库依赖添加到 app module 中,而不是 dynamic feature module 中。
扩展库请使用最新版。

2.5 SAS Dynamic Feature Demo 下载

Demo 中演示了如何通过 Dynamic Feature 方式接入 SAS,供您参考。

3. 常见问题

1. 由于 dynamic feature module 的 manifest 会被合并到 base apk 中,因此 manifest 中需要访问的资源需要在 app module 做声明。比如 dynamic feature module 中的 Activity 使用了自定义主题,那么这些主题的定义需要被提取到 app module 中去,否则会有类似编译错误:

2. 由于 dynamic feature module 的 manifest 会被合并到 base apk 中,因此如果 dynamic feature module 中使用了 ContentProvider,需要将 ContentProvider 代码集成到 app module 中去,否则会有类似运行错误:

3. 如果 dynamic feature module 中使用到的第三方库中, Activity 组件未做 SplitCompat适配,那么需要将这些第三方库集成到 app module 中,否则可能会有类似运行错误:

4. 由于 App Bundle 机制下,用户安装 superapp 时默认只安装系统已选中的语言,如果想在 superapp 内支持未选中的语言,需要通过 SplitInstallManager 下载安装相应语言包才行。请参考:Download additional language resources

帮助和支持

本页内容是否解决了您的问题?

填写满意度调查问卷,共创更好文档体验。

文档反馈