【问题标题】:Kotlin for a Cordova/Ionic based pluginKotlin 用于基于 Cordova/Ionic 的插件
【发布时间】:2018-10-09 09:46:20
【问题描述】:

是否可以将 Kotlin 作为框架/语言用作 Cordova 插件?

第一个问题是它没有复制 .kt 文件,因为它会查找 *.java 或 *.xml

如果有人知道如何设置的参考?

【问题讨论】:

    标签: cordova plugins kotlin ionic3


    【解决方案1】:

    最近我一直在 Cordova 插件中使用 Kotlin,但是当我开始时,我也找不到任何关于如何使用 Kotlin 创建 Cordova 插件的现有参考资料。

    所以我创建了一个示例插件,您可以将其用作模板:
    https://github.com/dpa99c/cordova-plugin-hello-kotlin

    如您所见,Cordova 插件界面上的 native 部分是implemented in Kotlin

    由于目前cordova-android@7 不隐式支持 Kotlin,该插件使用钩子脚本来设置 Cordova 为 Kotlin 创建的原生 Android 项目,并在卸载插件时从平台项目中删除 .kt 文件,因为目前cordova-android@7 只对.java 文件执行此操作。

    但它有效,您可以使用test app project 进行尝试。

    【讨论】:

    • 感谢 Dave,这对我有帮助,因为 kotlin 是一种非常神奇的语言,我非常想在我的旧插件中实现 kotlin。
    【解决方案2】:

    官方解决方案:cordova 9 supports kotlin

    在 config.xml 中添加以下内容

    <preference name="GradlePluginKotlinEnabled" value="true" />
    <preference name="GradlePluginKotlinCodeStyle" value="official" />
    <preference name="GradlePluginKotlinVersion" value="1.3.50" />
    

    还要注意放置 kotlin 文件的位置,即src/main/kotlin/&lt;com&gt;/&lt;package&gt;/

    使用:

    <source-file src="src/android/file.kt" target-dir="app/src/main/kotlin/xx/yy/zz" />
    

    如果您的项目没有获取 kotlin 文件,请将以下内容添加到插件的 gradle.build 中

    android {
        sourceSets {
            main.java {
                srcDirs += 'src/main/kotlin'
            }
        }
    }
    

    This plugin uses kotlin and has an example project

    【讨论】:

    • 我收到Failed to install 'cordova-***': Error: Variable(s) missing: GRADLEPLUGINKOTLINENABLED, GRADLEPLUGINKOTLINCODESTYLE, GRADLEPLUGINKOTLINVERSION
    • 我在将其放入 plugin.xml 时也遇到了该错误。它在 config.xml 中运行良好。
    猜你喜欢
    • 1970-01-01
    • 2014-10-30
    • 1970-01-01
    • 2017-05-14
    • 2023-03-04
    • 1970-01-01
    • 1970-01-01
    • 2018-05-12
    • 1970-01-01
    相关资源
    最近更新 更多