【发布时间】:2018-10-09 09:46:20
【问题描述】:
是否可以将 Kotlin 作为框架/语言用作 Cordova 插件?
第一个问题是它没有复制 .kt 文件,因为它会查找 *.java 或 *.xml
如果有人知道如何设置的参考?
【问题讨论】:
标签: cordova plugins kotlin ionic3
是否可以将 Kotlin 作为框架/语言用作 Cordova 插件?
第一个问题是它没有复制 .kt 文件,因为它会查找 *.java 或 *.xml
如果有人知道如何设置的参考?
【问题讨论】:
标签: cordova plugins kotlin ionic3
最近我一直在 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 进行尝试。
【讨论】:
官方解决方案: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/<com>/<package>/
使用:
<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'
}
}
}
【讨论】:
Failed to install 'cordova-***': Error: Variable(s) missing: GRADLEPLUGINKOTLINENABLED, GRADLEPLUGINKOTLINCODESTYLE, GRADLEPLUGINKOTLINVERSION