如何在 Android 中添加对普通 Java Lib 的 Kotlin 支持?



当我们想在 Android Studio 中使用 Kotlin 时,这很简单。添加 kotlin 依赖库,并添加 Kotlin-Android 插件,如下所示

apply plugin: 'com.android.library'
apply plugin: 'kotlin-android'

但是,如果我有一个普通的库(曾经是 Java(,并且想用 Kotlin 编写,我应该添加任何插件吗?下面肯定行不通。

apply plugin: 'java-library'
apply plugin: 'kotlin-android'

我没有找到要添加的"kotlin库"。我应该在我的模块 gradle 中添加什么才能让它能够编译 Kotlin?

你只需要添加Kotlin插件:

apply plugin: "kotlin"

java-library插件最近才添加到Gradle中,并扩展了java插件。不过,命名不会扩展到kotlin

正如所说,您需要添加

apply plugin: 'kotlin'

但您还需要至少添加

compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" 

到 Kotlin 库模块的依赖部分,否则标准库 Kotlin 功能将不起作用。 例如,您将没有@JvmStatic注释,等等。

kotlin库模块的示例build.gradle如下所示:

apply plugin: 'kotlin'
repositories {
mavenCentral()
}
dependencies {
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
}

$kotlin_version应在项目build.gradle文件中定义。

该示例取自 Idea 中的库项目,并经过测试,可与 Android Studio 项目(使用Android Studio 3.0 Beta 2进行测试(作为app模块的库依赖项。

您需要在项目应用程序 gradle 中添加:

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'
compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

并添加您的项目成绩:

buildscript {
ext.kotlin_version = '1.2.41'
repositories {
google()
jcenter()
}
dependencies {
classpath 'com.android.tools.build:gradle:3.0.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
classpath 'com.github.dcendents:android-maven-gradle-plugin:1.5'
classpath 'com.google.gms:google-services:1.5.0-beta2'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

相关内容

最新更新