android 无法通过Kotlin多平台在iOS中使用Guava库

t1qtbnec  于 5个月前  发布在  Android
关注(0)|答案(1)|浏览(109)

我尝试使用面向Android和iOS的Kotlin多平台。但是当运行任务“iosSimulatorArm64”的测试时,这些导入显示错误“未解决的引用”:

import com.google.common.graph.NetworkBuilder

字符串
我遵循了这个example,build.gradle.kts看起来像:

plugins {
    kotlin("multiplatform")
    id("com.android.library")
}

kotlin {
    androidTarget {
        compilations.all {
            kotlinOptions {
                jvmTarget = "1.8"
            }
        }
    }

    listOf(
        iosX64(),
        iosArm64(),
        iosSimulatorArm64()
    ).forEach {
        it.binaries.framework {
            baseName = "shared"
        }
    }

    sourceSets {
        commonTest {
            dependencies {
                implementation(kotlin("test-common"))
                implementation(kotlin("test-annotations-common"))
                implementation("com.google.guava:guava:33.0.0-jre")
                implementation("com.google.guava:guava:33.0.0-android")
            }
        }
        val androidUnitTest by getting {
            dependencies {
                implementation(kotlin("test-junit"))
                implementation("junit:junit:4.13.2")
            }
        }
    }
}

android {
    compileSdk = 34
    sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
    defaultConfig {
        minSdk = 21
    }
    namespace = "com.jetbrains.android"
    compileOptions {
        sourceCompatibility = JavaVersion.VERSION_1_8
        targetCompatibility = JavaVersion.VERSION_1_8
    }
}

dgtucam1

dgtucam11#

guava仅适用于jvm/android。你不能在iOS上使用它。你只能使用兼容jvm的源代码集。

相关问题