Kotlin / Native -> androidMain -> Неразрешенный символ - PullRequest
0 голосов
/ 04 октября 2019

Я добавил эту строку в общий gradle.

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

Я пытаюсь создать экземпляр FusedLocationProviderClient внутри класса в androidMain.

Но там написано: unresolved symbol. Есть идеи почему?

1 Ответ

1 голос
/ 10 октября 2019

То, что вы пытаетесь выполнить здесь, невозможно точно так же, как вы это делаете.

В общем случае вы не можете иметь реализации для конкретной платформы. В общем, вы можете добавить код, который не зависит от платформы. FusedLocationProviderClient зависит от Android. Таким образом, те зависимости, которые у вас есть с

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

, должны быть помещены в блок зависимостей андроида. И если вам нужны специфичные для Android зависимости, вам понадобится Android SDK и блок android {} в вашем файле Gradle. Примерно так:

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" />

Надеюсь, это поможет.

...