有没有办法为非Play商店应用程序支持动态模块加载?

问题描述

我们有一个不在商店中的android应用程序,用户可以通过从我们的网站下载进行安装。我们希望在我们的应用程序中实现动态功能加载,因为并非该应用程序的所有模块都有用,或者在某些情况下我们希望更新特定模块,因为该模块几乎没有错误,并且该应用程序的其余部分都可以正常工作。我已经读过它,并且遇到了play核心库,但是我似乎找不到任何文章可用于非Play商店应用来实现它,是否有可能这样做?

解决方法

这个article很棒

如果您只是想快速使用示例并查看其在本地的工作原理,则不再需要上述所有内容。

这要感谢在bundletool版本0.13.0中添加了新的--local-testing标志。 当应用于bundletool build-apks命令时,该标志指示bundletool将一小部分元数据添加到生成的APK清单中。然后,您可以通过两个简单的步骤使用它:

  • 使用bundletool在测试设备(或仿真器)上安装您的应用 安装应用程序。这会触发将所有拆分的APK额外推送到 设备存储中的位置。

  • 运行应用程序并使用通常的工厂创建一个SplitInstallManager 方法SplitInstallManagerFactory.create(Context)。