gpt4 book ai didi

android - 如何使用 HILT 在 Android 应用程序中支持模块化?

转载 作者:行者123 更新时间:2023-12-04 23:59:30 24 4
gpt4 key购买 nike

这很有趣article来自 Jeroen Mols 的文章展示了一种模块化 Android 应用程序的可能方法。它基本上将模块分为 3 层( AppFeaturesLibraries )。 App直接与 Features 通信和 Features可以依赖Libraries .这意味着 App不直接与 Libraries 交互.

enter image description here

现在,如果我正确理解 HILT 文档,包含 Application 的模块(这是 App 模块)因此它具有 HILT 入口点(HiltAndroidApp)需要了解所有其他想要使用依赖注入(inject)的模块。因此,例如,如果我有一个名为 libraries:analytics 的库,我需要我的 App 模块依赖于它,所以我将被迫在我的 app/build.gradle 中拥有:

implementation project(":libraries:analytics")

这违反了整个架构试图实现的分离和抽象。

我的解释正确吗?如果是这样,您会怎么做才能不破坏建议的架构?

最佳答案

如果您使用 Hilt Gradle Plugin并且您具有其他模块的传递依赖项,您可以在下面将其应用到您的 :app/build.gradle 并从中删除传递模块的依赖项。

hilt {
enableAggregatingTask = true
}

另请参阅:https://github.com/google/dagger/issues/2123#issuecomment-928064317

关于android - 如何使用 HILT 在 Android 应用程序中支持模块化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65735142/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com