项目不会与Kotlin 1.1.3一起构建

All*_*n W 14 android kotlin

我有一个Android项目,我最近用1.1.3更新,每次构建时都会出现以下错误:

Error:Execution failed for task ':app:compileDebugJavaWithJavac'.
> kotlin.jvm.internal.FunctionReference.<init>(ILjava/lang/Object;)V
Run Code Online (Sandbox Code Playgroud)

其他问题通常说这意味着stdlib不包括在内,但我肯定已添加它.1.1.2-5虽然使用作品,并1.1.3已为其他项目工作.

问题在于我将注释处理器与kapt混合在一起.对于像DbFlow和Glide这样的项目,annotationProcessor依赖项可以直接与kapt一起使用.

回到原来的问题:

是我的Travis日志,下面是我的依赖项:

dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.3-alpha', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    testCompile 'junit:junit:4.12'

    compile("ca.allanwang:kau:${KAU}")

    compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:${KOTLIN}"
    testCompile "org.jetbrains.kotlin:kotlin-test-junit:${KOTLIN}"

    debugCompile "com.squareup.leakcanary:leakcanary-android:${LEAK_CANARY}"
    releaseTestCompile "com.squareup.leakcanary:leakcanary-android-no-op:${LEAK_CANARY}"
    releaseCompile "com.squareup.leakcanary:leakcanary-android-no-op:${LEAK_CANARY}"
    testCompile "com.squareup.leakcanary:leakcanary-android-no-op:${LEAK_CANARY}"

    compile "com.github.Raizlabs.DBFlow:dbflow:${DBFLOW}"
    compile "com.github.Raizlabs.DBFlow:dbflow-core:${DBFLOW}"
    annotationProcessor "com.github.Raizlabs.DBFlow:dbflow-processor:${DBFLOW}"
    kapt "com.github.Raizlabs.DBFlow:dbflow-processor:${DBFLOW}"
    compile "com.github.Raizlabs.DBFlow:dbflow-kotlinextensions:${DBFLOW}"

    //Icons
    compile "com.mikepenz:material-design-iconic-typeface:${IICON_MATERIAL}@aar"
    compile "com.mikepenz:community-material-typeface:${IICON_COMMUNITY}@aar"

    compile "org.jsoup:jsoup:${JSOUP}"

    compile "com.github.bumptech.glide:glide:${GLIDE}"
    annotationProcessor "com.github.bumptech.glide:compiler:${GLIDE}"

    compile("com.mikepenz:materialdrawer:${MATERIAL_DRAWER}@aar") {
        transitive = true
    }
    compile "co.zsmb:materialdrawer-kt:${MATERIAL_DRAWER_KT}"

    compile "nz.bradcampbell:paperparcel:${PAPER_PARCEL}"
    compile "nz.bradcampbell:paperparcel-kotlin:${PAPER_PARCEL}"
    kapt "nz.bradcampbell:paperparcel-compiler:${PAPER_PARCEL}"

    compile "com.jude:swipebackhelper:${SWIPE_BACK}"

    compile("com.crashlytics.sdk.android:crashlytics:${CRASHLYTICS}@aar") {
        transitive = true;
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我尝试使用完整堆栈跟踪构建时的错误输出:[删除因为这篇文章太长了]我不确定它是否有帮助,但dbflow通常会在每个构建时都有警告,因为它不需要每个都生成类时间.我已经向他们的回购发送了一个问题,但我不认为这是问题,因为它与1.1.2-5一起工作正常

编辑2:我看了一下./gradlew dependencies,他们都显示了kotlin 1.1.3(这里发布的时间太长了).有一些依赖于他们的github源1.1.0,但不应该受到影响,排除那些std-libs没有解决错误.

编辑3:尝试后,.gradlew app:dependencies | grep org.jetbrains.kotlin我得到以下内容:

$ ./gradlew app:dependencies | grep org.jetbrains.kotlin
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1 -> 1.1.2-3
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3 -> 1.1.3
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2-3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
+--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
+--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
+--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3 -> 1.1.3 (*)
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1 -> 1.1.2-3
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3 -> 1.1.3
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2-3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
+--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
+--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
+--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3 -> 1.1.3 (*)
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1 -> 1.1.2-3
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3 -> 1.1.3
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2-3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
+--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
+--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
+--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3 -> 1.1.3 (*)
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1 -> 1.1.2-3
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2-3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
|    |    \--- org.jetbrains.kotlin:kotlin-stdlib:1.0.4 -> 1.1.3 (*)
+--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    +--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3 -> 1.1.3 (*)
+--- org.jetbrains.kotlin:kotlin-annotation-processing:1.1.3
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1 -> 1.1.2-3
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2-3 (*)
+--- org.jetbrains.kotlin:kotlin-annotation-processing:1.1.3
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1 -> 1.1.2-3
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2-3 (*)
+--- org.jetbrains.kotlin:kotlin-annotation-processing:1.1.3
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1 -> 1.1.2-3
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2-3 (*)
+--- org.jetbrains.kotlin:kotlin-annotation-processing:1.1.3
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1 -> 1.1.2-3
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2-3 (*)
+--- org.jetbrains.kotlin:kotlin-annotation-processing:1.1.3
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1 -> 1.1.2-3
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2-3 (*)
+--- org.jetbrains.kotlin:kotlin-annotation-processing:1.1.3
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1 -> 1.1.2-3
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2-3 (*)
+--- org.jetbrains.kotlin:kotlin-annotation-processing:1.1.3
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1 -> 1.1.2-3
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2-3 (*)
+--- org.jetbrains.kotlin:kotlin-annotation-processing:1.1.3
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1 -> 1.1.2-3
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2-3 (*)
+--- org.jetbrains.kotlin:kotlin-annotation-processing:1.1.3
|    \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.3
|    |    +--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.1 -> 1.1.2-3
|    |    |    \--- org.jetbrains.kotlin:kotlin-stdlib-jre7:1.1.2-3
|    |    |         \--- org.jetbrains.kotlin:kotlin-stdlib:1.1.2-3 -> 1.1.3 (*)
|    \--- org.jetbrains.kotlin:kotlin-stdlib-jre8:1.1.2-3 (*)
Run Code Online (Sandbox Code Playgroud)

Lov*_*vis 17

根据我的经验,你:

  1. 不应该kaptannotationProcessor
  2. 使用kapt3,使用apply plugin: 'kotlin-kapt'
  3. 不要使用kapt { generateStubs true } }(不允许kapt3)

还要检查您的Kotlin插件和Gradle插件是否是最新的.
另外,我通常不使用jre7标准库的版本,但我怀疑这是问题所在.

这是一个更详尽的"Kotlin无法正常工作"的列表:https://gist.github.com/lmller/3c43eff454f7508474210fb2491b488a