android - 在 Dagger `@Provides` 类中查找并删除未使用的 `@Module`

标签 android android-studio dagger-2

我刚刚注意到 android studio 有一个新功能,允许我们点击一​​个按钮并找到特定 @Provides 功能的消费者,我的问题是,有什么办法可以去遍历所有 @Module 类并使用脚本或工具在 1 次迭代中找到项目中未在任何地方使用的类?

最佳答案

完整代码:

@Module
@InstallIn(ApplicationComponent::class)
object RemoteDataSourceModule {

    @Singleton
    @Provides
    fun provideNetworkApi(): NetworkApi = NetworkApi.getInstance()

    @Singleton
    @Provides
    fun provideFcmApi(): FcmApi = FcmApi.getInstance()

}

它在 Android Studio 中的图片

我的Android Studio版本是4.1

enter image description here

在我附上的 Android Studio 中的 RemoteDataSourceModule 图片中,您可以看到左侧边栏。 [行号和代码本身之间的那个]

在那个侧边栏上,你可以看到那个图标。 [不知道它长什么样] 这是依赖项的图标。

enter image description here

如果将鼠标悬停在该图标上,您将了解提供特定依赖项的位置。 [参见我图片中的示例]

通过这种方式,您可以跟踪注入(inject)依赖项的所有位置。一旦未检测到任何地点,该图标就会消失。

编辑:我刚刚找到了指向这部分 Android Studio 发行说明的链接: 有关详细信息,请参阅此处:https://developer.android.com/studio/releases#dagger-navigation

关于android - 在 Dagger `@Provides` 类中查找并删除未使用的 `@Module`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64695499/

相关文章:

linux - 无法使用 sdkmanager cli (Linux Debian) 启动 Avd。错误 :PANIC: Broken AVD system path. 检查您的 ANDROID_SDK_ROOT 值

android - Dagger 2,在模块中提供应用上下文

javascript - 如何更改延迟加载 cordova 应用程序的时间?

android - 无法在 Android 应用程序的对话框中设置 OnClickListener

android - 为什么 Android Studio 设计器显示我的自定义 View 嵌套在自身内部,而它不是

android - 将 ParseLoginUI 作为模块导入时出现错误 :Execution failed for task ':app:dexDebug' .

android - 工具栏上均匀分布的菜单项

android - 重新安装 Android 应用程序后,该应用程序会收到针对旧安装的通知

java - Dagger-2:如何根据其范围为同一对象类型创建不同的实例化?

android - JUnit测试返回lateinit属性<nameOfInstance>尚未在演示者上初始化