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

t1qtbnec  于 2024-01-04  发布在  Android
关注(0)|答案(1)|浏览(261)

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

  1. import com.google.common.graph.NetworkBuilder

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

  1. plugins {
  2. kotlin("multiplatform")
  3. id("com.android.library")
  4. }
  5. kotlin {
  6. androidTarget {
  7. compilations.all {
  8. kotlinOptions {
  9. jvmTarget = "1.8"
  10. }
  11. }
  12. }
  13. listOf(
  14. iosX64(),
  15. iosArm64(),
  16. iosSimulatorArm64()
  17. ).forEach {
  18. it.binaries.framework {
  19. baseName = "shared"
  20. }
  21. }
  22. sourceSets {
  23. commonTest {
  24. dependencies {
  25. implementation(kotlin("test-common"))
  26. implementation(kotlin("test-annotations-common"))
  27. implementation("com.google.guava:guava:33.0.0-jre")
  28. implementation("com.google.guava:guava:33.0.0-android")
  29. }
  30. }
  31. val androidUnitTest by getting {
  32. dependencies {
  33. implementation(kotlin("test-junit"))
  34. implementation("junit:junit:4.13.2")
  35. }
  36. }
  37. }
  38. }
  39. android {
  40. compileSdk = 34
  41. sourceSets["main"].manifest.srcFile("src/androidMain/AndroidManifest.xml")
  42. defaultConfig {
  43. minSdk = 21
  44. }
  45. namespace = "com.jetbrains.android"
  46. compileOptions {
  47. sourceCompatibility = JavaVersion.VERSION_1_8
  48. targetCompatibility = JavaVersion.VERSION_1_8
  49. }
  50. }

dgtucam1

dgtucam11#

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

相关问题