简体   繁体   English

使用 Dagger 或 Hilt 进行 Android 库开发

[英]using Dagger or Hilt for Android Library Development

I am developing an Android Library and investigating if I can use Dagger or Hilt for dependency injection.我正在开发一个 Android 库并研究是否可以使用 Dagger 或 Hilt 进行依赖注入。

If someone is integrating my Android Library( with dagger or hilt dependency latest version) into application that use lower version of Hilt or Dagger Gradle will pick the higher version of Dagger or Hilt.如果有人将我的 Android 库(带有 dagger 或 hilt 依赖的最新版本)集成到使用较低版本的 Hilt 或 Dagger Gradle 的应用程序中,将选择更高版本的 Dagger 或 Hilt。 If higher version of library has deprecated/removed some functionality then My Android Library will force application developer to update code as per latest version of Dagger or Hilt.如果更高版本的库已弃用/删除了某些功能,那么我的 Android 库将强制应用程序开发人员根据最新版本的 Dagger 或 Hilt 更新代码。

is it good practice to use Hilt or Dagger for Android Library Development?使用 Hilt 或 Dagger 进行 Android 库开发是一种好习惯吗?

Dagger will be a much better choice for Android Library Development. Dagger 将是 Android 库开发的更好选择。 You can manage your dependency graph independently from the client application.您可以独立于客户端应用程序来管理依赖关系图。 Also, it is not required for the client application to use any DI framework when you use Dagger internally.此外,当您在内部使用 Dagger 时,客户端应用程序不需要使用任何 DI 框架。

Please also check related answer: Hilt using in android library另请查看相关答案: Hilt using in android library

Dagger is compile time library. Dagger 是编译时库。 However, for Android library development if Dagger is a dependency, the application needs to include Dagger as a dependency.但是,对于 Android 库开发,如果 Dagger 是依赖项,则应用程序需要包含 Dagger 作为依赖项。

https://github.com/google/dagger/issues/2685 https://github.com/google/dagger/issues/2685

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM