如何在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" } 

应该在project build.gradle文件中定义$kotlin_version

该示例是从Idea项目中的库项目中获取的,并且已经过测试,可以与Android Studio项目(使用Android Studio 3.0 Beta 2进行Android Studio 3.0 Beta 2 )一起作为库依赖项app模块。