【问题标题】:How to target both JVM/Native and Android with Kotlin如何使用 Kotlin 同时定位 JVM/Native 和 Android
【发布时间】:2019-07-03 16:43:15
【问题描述】:

我一直在尝试编写由服务器(Kotlin 本机/JVM)和客户端(Android)共享的代码

我同时拥有 Android Studio 和 IntelliJ IDEA。 我希望能够编写可以从我的 Android 项目中使用并且也可以独立使用的 Kotlin 代码(JVM 或 Native,尚不确定)。 IntelliJ 在项目设置上有很多不错的多平台选项,但我无法从 Android Studio 构建它们。

Kotlin 共享项目有这个插件

plugins { id 'kotlin-multiplatform' version '1.3.11' }

并且构建良好 - 即我可以从 IntelliJ 运行它,一切都很好。

但是如何将其导入 Android Studio。我做了以下更改

settings.gradle

include ':app', ':shared' project(':shared').projectDir = new File('../../kotlin/shared')

它显然是在尝试从正确的文件构建,但是 gradle sync 立即失败并显示以下消息:

插件 [id: 'kotlin-multiplatform', version: '1.3.11'] 未找到 在以下任何来源中:

  • Gradle 核心插件(不是核心插件,请参阅https://docs.gradle.org/4.4/userguide/standard_plugins.html 可用的核心插件)
  • 插件存储库(无法解析插件工件 'kotlin-multiplatform:kotlin-multiplatform.gradle.plugin:1.3.11')
    在以下存储库中搜索: Gradle Central 插件库

我认为这将是存储库问题,但两个项目(共享库和 Android 项目)只有 mavenCentral。

所以我很困惑。如何为 Android 和 JVM/Native 构建相同的代码?

【问题讨论】:

    标签: android android-studio gradle intellij-idea kotlin


    【解决方案1】:

    您在 Gradle 构建中使用了错误的插件 ID。试试

    plugins {
        id 'org.jetbrains.kotlin.multiplatform' version '1.3.21'
    }
    

    改为。

    iOS和Android应用教程看相关https://kotlinlang.org/docs/tutorials/native/mpp-ios-android.html

    您可以查看 MPP 库教程https://kotlinlang.org/docs/tutorials/multiplatform-library.html

    请在此处https://kotlinlang.org/docs/reference/building-mpp-with-gradle.html#publishing-a-multiplatform-library 找到 Kotlin MPP 插件的文档

    【讨论】:

    • 就这么简单。谢谢你!
    猜你喜欢
    • 1970-01-01
    • 2019-08-19
    • 2015-02-27
    • 2019-07-25
    • 2016-03-07
    • 2020-04-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多