Плагины includeBuild Gradle вызывают ошибку: java.lang.Исключение ClassNotFoundException: com.android.build.gradle.Внешний вид

#android #kotlin #gradle #android-gradle-plugin #maven-central

Вопрос:

Я пытаюсь использовать составные сборки с Kotlin DSL от Gradle includeBuild . Я сталкиваюсь с проблемой, когда я применяю плагин DexGuard к своему сценарию приложения после загрузки его из удаленного репозитория maven, но у меня возникает проблема с ним.

 buildscript {
    
repositories {
        google()
        mavenCentral()
    }
    dependencies {
        classpath("com.guardsquare:dexguard-gradle-plugin:${version}")
    }
}
 

Вот моя реализация плагина.

 // includeBuild("buildUtils/configuration")
class KotlinAndroidApplicationConfiguration : Plugin<Project> {

    override fun apply(target: Project) {
        target.plugins.apply(Dependencies.Plugins.Android.application)
        target.plugins.apply(Dependencies.Plugins.Kotlin.android)
        target.plugins.apply(Dependencies.Plugins.benchmarkPlugin)

        // Custom Plugins in Base Module
        ...
        target.plugins.apply(Dependencies.Plugins.dexguardPlugin)
        target.plugins.apply("dependencies")
        ...
}
 

Вот ошибка, которую я получаю:

 FAILURE: Build failed with an exception.

* What went wrong:
com/android/build/gradle/AppExtension
> com.android.build.gradle.AppExtension

* Try:
Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Exception is:
java.lang.NoClassDefFoundError: com/android/build/gradle/AppExtension
    at com.guardsquare.dexguard.gradle.DexGuardPlugin.apply(DexGuardPlugin.kt:47)
    at com.guardsquare.dexguard.gradle.DexGuardPlugin.apply(DexGuardPlugin.kt:27)
    at org.gradle.api.internal.plugins.ImperativeOnlyPluginTarget.applyImperative(ImperativeOnlyPluginTarget.java:43)
    at org.gradle.api.internal.plugins.RuleBasedPluginTarget.applyImperative(RuleBasedPluginTarget.java:51)
    at org.gradle.api.internal.plugins.DefaultPluginManager.addPlugin(DefaultPluginManager.java:177)
    at org.gradle.api.internal.plugins.DefaultPluginManager.access$100(DefaultPluginManager.java:51)
    at org.gradle.api.internal.plugins.DefaultPluginManager$AddPluginBuildOperation.run(DefaultPluginManager.java:272)

...

Caused by: java.lang.ClassNotFoundException: com.android.build.gradle.AppExtension
    ... 195 more


* Get more help at https://help.gradle.org

BUILD FAILED in 8s
 

Кто-нибудь, кто знает, как это обойти?

Комментарии:

1. Может быть, это поможет discuss.gradle.org/t/…