【问题标题】:Do Android Dynamic Features share a classpath with the app?Android 动态功能是否与应用共享类路径?
【发布时间】:2020-11-09 21:27:40
【问题描述】:
Android 动态功能模块是否具有独立的类路径,或者它们是否与应用程序的其余部分共享一个类路径?我的公司应用程序已经变得足够大,以至于我们有多个团队拥有不同的功能。我们目前正在考虑将我们的应用程序分解为可以单独发布和更新的功能模块。
似乎为了能够单独且安全地发布一个功能,它需要有一个单独的类路径,以便对依赖项的任何更改都不会导致类路径冲突。
【问题讨论】:
标签:
android
dynamic-feature-module
【解决方案1】:
动态特性可能依赖于基础特性,也可能不依赖于基础特性,但如果它们依赖于基础特性,那么您必须了解基础模块的类路径。
但反之亦然,即基本模块由于显而易见的原因不能依赖动态特性,因为基本模块没有用户将拥有哪些动态特性的信息,也不知道是否配置了动态特性-安装模式或按需模式。
虽然如果您想将应用程序分成依赖关系最少的小模块,那么您应该考虑以库(或说 .aar 文件)的形式进行开发,您可以在团队之间共享 .aar 或上传到maven 并通过将它们包含在 build.gradle 中来整理依赖关系。