我试图了解如何通过模块构建Android应用程序,并查看NowInAndroid应用程序以从中学习。
此页面显示了一个漂亮的图表,其中显示了一些模块依赖关系:https://github.com/android/nowinandroid/blob/main/docs/ModularizationLearningJourney.md
现在,当查看ForYouViewModel(在:功能:foryou中)时,有一个从:core:domain导入的2个用例,以及从:core:data导入的UserDataRepository。这两个模块都是由Hilt注入的。这些模块不是:feature:foryou的依赖项。它如何知道这些模块以及这些模块的作用?它如何解析这些导入?
:功能:foryou是:app的依赖项,但它不应该提供:feature:foryou任何东西,对吗?
(查看了大量关于模块的文档和示例。)
1条答案
按热度按时间gj3fmq9x1#
只是为了那些对同样的事情感到困惑的人。答案就在Gradle约定插件中。https://docs.gradle.org/current/samples/sample_convention_plugins.html
我还没有仔细看过它,但看起来约定插件允许为需要相同依赖项的多个模块提供一组依赖项。
这使得这些模块的gradle文件很小(可能会让你想知道“这是从哪里来的?就像它对我一样)