android - Kotlin/Native-> androidMain->无法解析的符号

标签 android gradle kotlin kotlin-multiplatform

我在普通的gradle中添加了这行。

implementation ("com.google.android.gms:play-services-location:17.0.0")
我正在尝试在FusedLocationProviderClient的类中实例化androidMain
但它说unresolved symbol。知道为什么吗?

最佳答案

您试图在此处完成的工作不可能与您在构建该结构时完全相同。

通常,您不能具有特定于平台的实现。通常,您可以添加与平台无关的代码。 FusedLocationProviderClient是Android特定的。因此,您拥有的依赖项

implementation ("com.google.android.gms:play-services-location:17.0.0")

必须放置在android的dependencies块中。而且,如果您需要特定于android的依赖项,则在gradle文件中也将需要android SDK和android {}块。像这样:
android {
    compileSdkVersion(29)
    defaultConfig {
        minSdkVersion(21)
        targetSdkVersion(29)
    }
}

然后在kotlin{}块中,您可以执行以下操作:
kotlin {
...
    sourceSets {
        val androidMain by getting {
            dependencies {
                ...
                implementation ("com.google.android.gms:play-services-location:17.0.0")
                ...

            }
        }
...
}

另外,请注意,您可能需要在AndroidManifest.xml中使用src/main来定义包装。就像是
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
          package="com.example.packageName" />

希望能有所帮助。

关于android - Kotlin/Native-> androidMain->无法解析的符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58239119/

相关文章:

java - android中的变量作用域问题

android - 由于正在进行 gradle 项目同步,无法构建项目

gradle - 星云ospackage不遵守dirMode

dictionary - 如何获取 TreeMap 中索引的键

java - 程序显示空指针异常....将 double 转换为 int

android - 声音池加载监听器?

java - Intent 为空

gradle - 使用 Gradle 将 jar 发布到 MavenLocal

android - Jetpack Compose 与一堆卡片的时序问题

Swift:像 kotlin 等价物一样用接收器关闭?