Gradle Sync -Fehler: Bitte initialisieren
Posted: 13 Apr 2025, 22:23
Ich versuche, ein benutzerdefiniertes Gradle -Plugin für mein App -Modul in einem Kotlin -Multiplattform -Projekt zu implementieren, aber ich habe diesen Fehler aufgenommen, wenn ich mein benutzerdefiniertes Plugin- und Synchronisierungsprojekt anwende.
Mein benutzerdefiniertes Plugin in Buildsrc:
, aber es hat keinen Unterschied gemacht.
Code: Select all
> Configure project :app
mmd is Coming
com.android.application
e: Please initialize at least one Kotlin target in 'app (:app)'.
Read more https://kotl.in/set-up-targets
w: The following Kotlin source sets were configured but not added to any Kotlin compilation:
* commonMain
* commonTest
You can add a source set to a target's compilation by connecting it with the compilation's default source set using 'dependsOn'.
See https://kotl.in/connecting-source-sets
w: Missing 'androidTarget()' Kotlin target in multiplatform project 'app (:app)'.
The Android Gradle plugin was applied without creating a corresponding 'android()' Kotlin Target:
plugins {
id("com.android.application")
kotlin("multiplatform")
}
kotlin {
androidTarget() // \ com.android.build.api.dsl.ApplicationExtension
* Try:
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.
> Get more help at https://help.gradle.org.
* Exception is:
java.lang.NoClassDefFoundError: com/android/build/api/dsl/ApplicationExtension
at ApplicationGradlePlugin.apply(ApplicationGradlePlugin.kt:24)
...
Caused by: java.lang.ClassNotFoundException: com.android.build.api.dsl.ApplicationExtension
at org.gradle.internal.classloader.VisitableURLClassLoader$InstrumentingVisitableURLClassLoader.findClass(VisitableURLClassLoader.java:187)
... 215 more
CONFIGURE FAILED in 6s
Code: Select all
class ApplicationGradlePlugin : Plugin {
override fun apply(target: Project) {
with(target) {
val libs = extensions.getByType().named("libs")
println("mmd is Coming")
println(libs.findPlugin("androidApplication").get().get().pluginId)
pluginManager.apply(libs.findPlugin("kotlinMultiplatform").get().get().pluginId)
pluginManager.apply(libs.findPlugin("androidApplication").get().get().pluginId)
extensions.getByType(ApplicationExtension::class.java)
println("mmd done his job..")
}
}
}
< /code>
Build.gradle.KTS -Datei im App -Modul: < /p>
import org.jetbrains.compose.desktop.application.dsl.TargetFormat
plugins {
alias(libs.plugins.kotlinMultiplatform)
alias(libs.plugins.composeMultiplatform)
alias(libs.plugins.composeCompiler)
alias(libs.plugins.kotlin.serialization)
alias(libs.plugins.androidApplication)
id("com.sample.myproject.application-plugin")// --> this is my custom plugin
}
kotlin {
android {
compilations.all {
kotlinOptions.jvmTarget = "21"
}
}
jvm("desktop")
sourceSets {
val desktopMain by getting
androidMain.dependencies {
// android dependencies
}
commonMain.dependencies {
// common dependencies
}
desktopMain.dependencies {
// desktop dependencies
}
}
}
android {
namespace = "com.sample.myproject"
compileSdk = libs.versions.android.compileSdk.get().toInt()
defaultConfig {
applicationId = "com.sample.myproject"
// other configurations
}
< /code>
Ich habe mein Plugin geleert und Konfigurationen Schritt für Schritt hinzugefügt und jedes Mal synchronisiert, da ich dies füge: < /p>
extensions.getByType(ApplicationExtension::class.java)
< /code>
Es gibt mir den Fehler.extensions.getByType(KotlinMultiplatformExtension::class).apply {
androidTarget()
jvm("desktop")
}