我正在构建一个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依赖项,然后处理该动态功能模块的下载。