Emb*_*cro 9 intellij-idea android-studio gradle-kotlin-dsl kotlin-multiplatform kmm
expect
我有一个运行完美的 KMM 项目,除了 Android Studio在我的项目中的每个函数/值上给出错误,抱怨actual
JVM 不存在该版本。
旁边的黄色菱形中的 A 显示了 iOS 和 Android 的实际版本,并且该项目构建/运行得很好。
我已经仔细检查了包名称,expect
无论包如何,每个包都会发生这种情况。
我检查了我的 gradle 构建文件,将它们与新的 KMM 示例项目进行比较时找不到任何奇怪的东西。
plugins {
kotlin("multiplatform")
kotlin("native.cocoapods")
id("com.android.library")
id("com.rickclephas.kmp.nativecoroutines") version "0.12.2-new-mm"
}
version = "1.0"
kotlin {
android()
iosX64()
iosArm64()
//iosSimulatorArm64() sure all ios dependencies support this target
cocoapods {
summary = "Some description for the Shared Module"
homepage = "Link to the Shared Module homepage"
ios.deploymentTarget = "15.0"
podfile = project.file("../iosApp/Podfile")
framework {
baseName = "shared"
}
}
sourceSets {
val ktorVersion = "2.0.2"
val commonMain by getting {
dependencies {
implementation("com.litclimbing:firebase-auth:+")
implementation("com.litclimbing:firebase-firestore:+")
implementation("com.litclimbing:buffer:+")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1")
implementation("org.jetbrains.kotlinx:kotlinx-datetime:0.3.2")
implementation("io.ktor:ktor-client-core:$ktorVersion")
}
}
val commonTest by getting {
dependencies {
implementation(kotlin("test"))
}
}
val androidMain by getting {
dependencies {
implementation("androidx.lifecycle:lifecycle-runtime-ktx:2.4.1")
implementation("androidx.lifecycle:lifecycle-viewmodel-ktx:2.4.1")
implementation("io.ktor:ktor-client-okhttp:$ktorVersion")
}
}
val androidTest by getting
val iosX64Main by getting
val iosArm64Main by getting
//val iosSimulatorArm64Main by getting
val iosMain by creating {
dependsOn(commonMain)
iosX64Main.dependsOn(this)
iosArm64Main.dependsOn(this)
//iosSimulatorArm64Main.dependsOn(this)
dependencies {
implementation("io.ktor:ktor-client-darwin:$ktorVersion")
}
}
val iosX64Test by getting
val iosArm64Test by getting
//val iosSimulatorArm64Test by getting
val iosTest by creating {
dependsOn(commonTest)
iosX64Test.dependsOn(this)
iosArm64Test.dependsOn(this)
//iosSimulatorArm64Test.dependsOn(this)
}
}
sourceSets.all {
languageSettings.optIn("kotlin.RequiresOptIn")
languageSettings.optIn("kotlin.ExperimentalUnsignedTypes")
}
}
android {
compileSdk = 32
sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
defaultConfig {
minSdk = 29
targetSdk = 32
}
}
Run Code Online (Sandbox Code Playgroud)
buildscript {
repositories {
gradlePluginPortal()
google()
mavenCentral()
}
dependencies {
classpath("org.jetbrains.kotlin:kotlin-gradle-plugin:1.6.21")
classpath("com.android.tools.build:gradle:7.2.1")
classpath("com.google.gms:google-services:4.3.10")
classpath("com.google.firebase:firebase-crashlytics-gradle:2.9.0")
}
}
allprojects {
repositories {
google()
mavenLocal()
mavenCentral()
maven {
setUrl("https://jitpack.io")
}
maven {
setUrl("https://maven.pkg.jetbrains.space/public/p/kotlinx-coroutines/maven")
}
}
}
tasks.register("clean", Delete::class) {
delete(rootProject.buildDir)
}
Run Code Online (Sandbox Code Playgroud)
我什至尝试将 gradle 文件复制到一个新的 KMM 项目中,看看它是否会破坏它,但它没有破坏它,所以我不知道该去哪里查看。
这并不是我正在寻找的解决方案,但它似乎是 Android Studio/IntelliJ 中的一个错误,而不是 gradle 设置。
要修复它,请执行以下操作。
归档时间: |
|
查看次数: |
2238 次 |
最近记录: |