首页 > 解决方案 > 如何将 `android` Kotlin DSL 添加到 buildSrc 模块中的类路径?

问题描述

我想制作一些扩展方法buildSrc以在其他模块的文件中使用build.gradle.kts它们

特别是我需要扩展com.android.build.gradle.LibraryExtension. 为此,我似乎需要com.android.libraryinbuildSrc的类路径。试图通过

plugins {
   id("com.android.library") apply false
}

给我Plugin [id: 'com.android.library', apply: false] was not found in any of the following sources:错误。

为此目的的正确设置是什么?

全文如下build.gradle.ktsbuildSrc

buildscript {
   repositories {
      mavenCentral()
      google()
      jcenter()
   }

   dependencies {
      classpath("com.android.tools.build:gradle:3.6.3")
   }
}

plugins {
   `kotlin-dsl`
   id("com.android.library") apply false
}

标签: androidgradle-kotlin-dsl

解决方案


忽略我之前发布的所有内容。这是我能够使用的方式LibraryExtension。但是,ymmv,这似乎是沉重的。

repositories {
    jcenter()
    google()
}

// ...snip...

dependencies {
    implementation("com.android.tools.build:gradle:3.6.3")
}

如果您只想访问该类,则希望它作为依赖项,而不是插件。我仍然不确定如何使它作为 buildSrc 中的插件工作,所以希望这能满足您的需求。


推荐阅读