Ошибка: не удалось получить неизвестное свойство iosX64 для KotlinTargetPreset в Android Studio 3.1.4?

Привет, я новичок в среде Android и Kotlin, я из родного фона iOS.

Я хочу создать многоплатформенное приложение Kotlin, работающее как на Android, так и на iOS.

Для этого я следую этому https://kotlinlang.org/docs/tutorials/native/mpp-ios-android.html

После завершения процесса обновления скриптов Gradle из приведенной выше документации я столкнулся с такой проблемой, как:

Не удалось получить неизвестное свойство iosX64 для контейнера KotlinTargetPreset типа org.gradle.api.internal.FactoryNamedDomainObjectContainer.

а мой путь к файлу build.gradle - /Kotlin_Practice/KTMPDemo/SharedCode/build.gradle

build.gradle

apply plugin: 'kotlin-multiplatform'

kotlin {
    targets {
        final def iOSTarget = System.getenv('SDK_NAME')?.startsWith("iphoneos") \
                              ? presets.iosArm64 : presets.iosX64
        fromPreset(iOSTarget, 'iOS') {
            compilations.main.outputKinds('FRAMEWORK')
        }
        fromPreset(presets.jvm, 'android')
    }
    sourceSets {
        commonMain.dependencies {
            api 'org.jetbrains.kotlin:kotlin-stdlib-common'
        }
        androidMain.dependencies {
            api 'org.jetbrains.kotlin:kotlin-stdlib'
        }
    }
}
// workaround for https://youtrack.jetbrains.com/issue/KT-27170
configurations {
    compileClasspath
}

Могу ли я обновить / понизить версию Gradle? Как я могу исправить эту проблему? Спасибо.

Конфигурация моей системы:

Mac mini (конец 2014 г.), macOS High Sierra, v10.13.5.

Android Studio Android Studio 3.1.4

Сборка № AI-173.4907809, построена 24 июля 2018 г.

JRE: 1.8.0_152-выпуск-1024-b01 x86_64

JVM: 64-разрядная серверная виртуальная машина OpenJDK от JetBrains s.r.o


person WeCan    schedule 05.10.2018    source источник


Ответы (1)


У меня была такая же проблема только сейчас, и из-за отсутствия ответов я продолжил поиск. Запуск примера проекта с первой попытки означал, что в моей настройке что-то есть.

В моем случае у него не было версии плагина 1.3 Kotlin Gradle. К настоящему времени у вас будет несколько файлов .gradle. Предположительно, у вашего основного проекта будет что-то вроде этого:

classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

Убедитесь, что версия kotlin указывает на версию 1.3. Я использовал тот же проект, что и пример, и раньше у меня была версия 1.2.71. После этого у меня все заработало. Я уверен, что предстоит преодолеть гораздо больше препятствий, но это может продвинуть вас немного дальше.

person Justin Hammenga    schedule 07.10.2018
comment
Спасибо за ваш ответ. Я перешел с ext.kotlin_version = '1.2.71' на ext.kotlin_version = '1.3' в основном файле build.gradle. После запуска проекта отображается сообщение об ошибке: Не удалось найти org.jetbrains.kotlin: kotlin-gradle-plugin: 1.3. - person WeCan; 08.10.2018
comment
На момент написания я использовал 1.3.0-rc-57. Я получил это из их примера приложения: github.com/JetBrains/kotlin-examples/blob/master/tutorials/ (убедитесь, что у вас также есть плагин gradle kotlin версии 1.3 в вашей среде IDE) - person Justin Hammenga; 08.10.2018
comment
Спасибо и извините за недавний ответ, в настоящее время я работаю над другим проектом на Python. Один раз проверю и обновлю вас. - person WeCan; 22.10.2018