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

时间:2017-08-14 11:55:03

标签: android 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'

没有&#k; kotlin-library'我发现要添加。我应该在模块gradle中添加什么才能编译Kotlin?

3 个答案:

答案 0 :(得分:5)

您只需要添加 Kotlin 插件:

apply plugin: "kotlin"

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

答案 1 :(得分:0)

据说你需要添加

apply plugin: 'kotlin'

但你还需要至少添加

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

到kotlin库模块的依赖部分,否则标准库kotlin功能将无效。例如。你不会有@JvmStatic注释,等等。

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

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模块的库依赖项进行测试。

答案 2 :(得分:-1)

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

apply plugin: 'kotlin-android'
apply plugin: 'kotlin-android-extensions'

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

并在项目中添加gradle:

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
    }
}