gradle (未找到名为“androidMain”的KotlinSourceSet,)如何将android作为构建目标添加到Kotlin多平台项目中

oalqel3c  于 2023-02-04  发布在  Android
关注(0)|答案(1)|浏览(168)

我正在尝试将android()作为构建目标添加到Kotlin多平台库中,以便为Android目标添加特定的库。所有其他目标(JVM,Linux,iOS)都工作正常,但Android似乎有问题,因为KotlinSourceSet没有像其他目标那样创建。
这就是我得到错误的地方:
未找到名称为“androidMain”的KotlinSourceSet。
我想知道,我是否必须手动添加源集?我是否错过了一些关键的构建步骤?
这是我的gradle.build.kts

plugins {
    id("maven-publish")
    kotlin("multiplatform") version "1.8.0"

}

buildscript {
    repositories {
        google()
    }
    dependencies {
        classpath ("com.android.tools.build:gradle:4.2.2")
        classpath ("org.jetbrains.kotlin:kotlin-gradle-plugin:1.8.0")
    }
}

group = "zzz.xxxx"
version = "1.0-SNAPSHOT"

repositories {
    mavenCentral()
}

kotlin {
    jvm()
    linuxX64("linux")
    ios()
    android()

    sourceSets {
        val commonMain by getting {
            dependencies {
                implementation("...")
            }
        }
        val commonTest by getting {
            dependencies {
                implementation(kotlin("test")) 
            }
        }
        val jvmMain by getting {
            dependencies {
                implementation("...")
            }
        }

        val androidMain by getting {
            dependencies {
                implementation ("...")
            }
        }

        val jvmTest by getting

    }
}

我试着添加一个androidMain文件夹,但它没有被识别为KotlinSourceSet。网上的资源似乎也没有帮助。

fivyi3re

fivyi3re1#

要添加android作为构建目标,您需要先设置android-gradle-plugin。
与android插件gradle.build.kts的示例设置将是:

plugins {
    id("maven-publish")
    kotlin("multiplatform") version "1.8.0"
    id("com.android.library") version "7.3.0" // (1) add plugin
}

//...

// (2) setup plugin
android {
    compileSdk = 33

    defaultConfig {
        minSdk = 24
        multiDexEnabled = true
    }

    sourceSets {
        getByName("main") {
            manifest.srcFile("src/androidMain/AndroidManifest.xml")
        }
    }
}
    • 更新**

添加Android Gradle插件之前:

  • 检查settings.gradle(.kts)文件中是否列出了Google Maven存储库
  • 检查Android Gradle插件是否已添加到项目build.gradle(.kts)文件中
  • 检查Android Gradle插件是否与您的Gradle版本兼容

相关问题