图书馆项目中的Android动态交付



我正在构建一个Android库,我希望它的一些功能只能作为动态功能模块按需下载。

是否可以在Android库项目中使用动态交付(来自Google Play Core库(?

我尝试将dynamicFeatures = [':my_dynamic_feature']添加到我的Library项目的build.gradle中,但当我尝试进行Gradle同步时,我得到了以下错误:

Could not set unknown property 'dynamicFeatures' for object of type com.android.build.gradle.LibraryExtension.

出于这个原因,我怀疑动态交付只支持'com.android.application',而不支持'com.android.library'

有人能确认这是否得到支持吗
或者至少计划在未来发布Play Core库?

谢谢!

是的,目前只能从应用程序类中使用。

如果您希望以稍后可以支持动态特性的方式设计库,可以将与动态特性相关的代码移动到一个单独的库中,我们称之为DFLibrary。您可以使用反射,而不是直接调用DFLibrary方法。

现在,任何想使用您的库和DFLibrary但不想处理动态功能安装的客户端都可以包含库和DF库的依赖项。

如果客户端希望使用DFLibrary作为动态功能模块,它可以自己创建一个动态功能模块并在其中包含DFLibrary依赖项,然后处理该动态功能模块的下载。

最新更新