配置" build.gradle"适用于Android Studio中的Kotlin模块

时间:2016-04-21 16:53:34

标签: android gradle kotlin

我正在开发一个应用程序,我想将Android特定逻辑与业务逻辑分离("不可变"逻辑和Android独立),所以我创建了两个模块:

  • 应用:Android特定代码
  • :业务逻辑(用Kotlin编写)

我将此 build.gradle 文件用于kotlin模块

apply plugin: 'kotlin'

kapt {
    generateStubs = true
}

dependencies {

    compile fileTree(dir: 'libs', include: ['*.jar'])
    compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"

    /* Annotations library */
    provided 'org.glassfish:javax.annotation:10.0-b28'
    kapt 'com.google.dagger:dagger-compiler:2.0.1'

    /* Dagger 2 library */
    compile 'com.google.dagger:dagger:2.0.1'

   /* EventBus library */
   compile 'de.greenrobot:eventbus:2.4.0'

   /* JODA TIME - time and date library */
   compile 'joda-time:joda-time:2.9.2'

  /*Rx Kotlin*/
  compile 'io.reactivex:rxkotlin:0.55.0'

  testCompile 'junit:junit:4.12'
  testCompile 'org.mockito:mockito-core:2.0.47-beta'
}

buildscript {

    ext.kotlin_version = '1.0.1-2'

    repositories {
        mavenCentral()
    }

    dependencies {

        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"

    }
}

repositories {
    mavenCentral()
    maven{ url "http://repository.jetbrains.com/all" }
}

这是配置kotlin模块的正确方法吗?

加:我找不到 Gradle DSL方法:'提供()' 错误。我怎么能解决它?

1 个答案:

答案 0 :(得分:0)

默认情况下,Gradle没有provided配置。相反,它有compileOnly。因此,如果您确实希望仅在编译期间可以使用依赖项,请执行以下操作:

compileOnly 'org.glassfish:javax.annotation:10.0-b28'