gpt4 book ai didi

android - 如何使用新插件 DSL 应用 com.android.application 插件?

转载 作者:行者123 更新时间:2023-12-04 12:03:35 25 4
gpt4 key购买 nike

我有一个通过以下三项配置的项目:

  • 在顶级 中声明存储库build.gradle :
    buildscript { repositories { google() }}
    allprojects { repositories { google() }}
  • 声明类路径依赖,以便从相应的存储库中下载插件工件,在顶级 中build.gradle
    buildscript { dependencies { classpath 'com.android.tools.build:gradle:3.1.3' }}
  • 然后,在应用程序 build.gradle 文件,应用插件:
    apply plugin: 'com.android.application'

  • 我想迁移它以使用 new plugins DSL PluginsDependenciesSpec 启用.

    我然后:
  • 中声明了存储库settings.gradle :
    pluginManagement { repositories { google() }}
  • 在应用程序中声明插件依赖 build.gradle :
    plugins { id "com.android.application" version "3.1.3" }

  • 但这无法解决:

    FAILURE: Build failed with an exception.

    • Where: Build file '…/build.gradle' line: 2

    • What went wrong: Plugin [id: 'com.android.application', version: '3.1.3'] was not found in any of the following sources:

    • Gradle Core Plugins (plugin is not in 'org.gradle' namespace)

    • Plugin Repositories (could not resolve plugin artifact 'com.android.library:com.android.library.gradle.plugin:3.1.3')

    Searched in the following repositories:



    我缺少什么让 Gradle 在这里连接这些点,以便它可以将 plugin.id 连接到从适当的存储库获取的适当的 JAR?

    最佳答案

    pluginManagement您可以使用 resolutionStrategy并强制使用 google() 中的特定工件存储库。

    pluginManagement {
    repositories {
    google()
    }

    resolutionStrategy {
    eachPlugin {
    if (requested.id.id in ['com.android.application', 'com.android.library']) {
    useModule("com.android.tools.build:gradle:${getProperty('version.plugin.android')}")
    }
    }
    }
    }
    然后你可以使用新的 plugins 来应用 android 插件。 DSL:
    plugins {
    id 'com.android.application'
    }
    或者
    plugins {
    id 'com.android.library'
    }
    这里是 documentation .

    关于android - 如何使用新插件 DSL 应用 com.android.application 插件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51677261/

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