当前位置: 首页 > 知识库问答 >
问题:

插件[id:“dagger.hilt.android.Plugin”]未在以下任何源中找到

蒋茂材
2023-03-14

当我想在我的项目中使用hilt的属性@AndroidEntryPoint时,我得到以下警告。

 Expected @AndroidEntryPoint to have a value. Did you forget to apply the Gradle Plugin? (dagger.hilt.android.plugin)

当我尝试添加id“匕首”时。刀柄。Android插件'到模块级构建。在我的项目的gradle文件中,我得到以下错误。

org.gradle.api.plugins.UnknownPluginException: Plugin [id: 'dagger.hilt.android.plugin'] was not found in any of the following sources:

我试图将其添加到构建中。项目模块级的gradle文件如下所示。他们都给出了一个错误。

我试图将它作为类路径添加到项目级别build.gradle文件中,在这种情况下我仍然会得到一个错误。

创建默认项目时,设置。gradle结构创建如下。这是我第一次使用这个版本。我的Android Studio版本Android Studio-大黄蜂| 2021.1.1金丝雀13

共有3个答案

狄信然
2023-03-14

build.gradle中的plugin{}块用于定义可应用于根build.gradle和所有(或部分)Gradle子项目的Gradle插件。

使用插件块的一个警告是,它只解决Gradle插件门户(请参阅doc)或自定义Maven和Ivy插件库中存在的插件必须包含插件标记人工制品,以及实际实现插件的人工制品(请参阅doc)。就Android Gradle插件和Hilt插件而言,他们没有将这些插件发布到Gradle插件门户,也没有发布插件标记工件

由于上面缺少插件标记工件,您需要使用设置中的插件解析规则手动解析插件。gradle通过添加以下代码(这是特定于Hilt gradle插件的,对于其他插件,您必须根据请求的id.id检查不同)

pluginManagement {
    repositories {
        // Your repo from where Gradle will search for Gradle plugins
    }
    plugins {
        // ...
    }
    resolutionStrategy {
        eachPlugin {
            if(requested.id.id == 'dagger.hilt.android.plugin') {
                    useModule("com.google.dagger:hilt-android-gradle-plugin:${requested.version}")
            }
        }
    }
}

孟宏才
2023-03-14

经过长时间的斗争,我解决了如下问题;

我添加了一个resolutionStrategysettings.gradle如下。

 pluginManagement {
        repositories {...}
        plugins { ...}
     resolutionStrategy {
            eachPlugin {
                if( requested.id.id == 'dagger.hilt.android.plugin') {
                    useModule("com.google.dagger:hilt-android-gradle-plugin:2.39.1")
                }
            }
        }
    }

然后,当我将如下所示的hilt插件添加到模块级构建中时。gradle文件,已正确更新。

plugins{
...
id 'dagger.hilt.android.plugin'
}
路伟
2023-03-14

我来不及回答了。我在Android Studio Bumblebee中也遇到了同样的问题,因为新的Gradle语法用于在项目级别添加依赖项。

要在项目级添加剑柄,可以使用以下语法:

id 'com.google.dagger.hilt.android' version '2.41' apply false

在撰写本文时,最新版本是2.41。它位于mavenCentral存储库中。

 类似资料: