带有组的插件的 Gradle 版本目录

htt*_*tch 4 android gradle

我想弄清楚是否可以在版本目录中声明插件(如果它也有一个组)。

如果我尝试这样声明它

libs.versions.toml

[plugins]
google-services = { id = "com.google.gms:google-services", version = "4.3.10" }

build.gradle
plugins {
    alias(libs.plugins.google.services)
}
Run Code Online (Sandbox Code Playgroud)

我收到下一个错误

> plugin id 'com.google.gms:google-services' is invalid: Plugin id contains invalid char ':' (only ASCII alphanumeric characters, '.', '_' and '-' characters are valid)
Run Code Online (Sandbox Code Playgroud)

有什么建议如何正确使用插件吗?

htt*_*tch 6

在电报中的 gradle 社区的帮助下,我找到了解决方案

settings.gradle.kts需要声明此类部分

pluginManagement {
    resolutionStrategy {
        eachPlugin {
            if (requested.id.id.startsWith("com.google.gms.google-services")) {
                useModule("com.google.gms:google-services:${requested.version}")
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

libs.version.toml文件中这样声明

[plugins]
google-services = { id = "com.google.gms.google-services", version = "4.3.10" }
Run Code Online (Sandbox Code Playgroud)

build.gradle像这样应用它

plugins {
    alias(libs.plugins.google.services)
}
Run Code Online (Sandbox Code Playgroud)