最近更新后Android Studio(2.0.7)(也许这是原因)有时在构建我得到那个错误。
想法是,通常编译进行得很顺利,但有时我得到匕首错误。
可能是在匕首配置问题?
错误本身:
执行任务:[: app:assembleDebug]
在3.719秒内完成66个类的增量编译。: app:compileDebugJavaWellJavac FAILED:app:compileRetrolambdaDebug
失败:构建失败,但出现异常。
>
出了什么问题:task': app:compileDebugJavaWellJavac'执行失败。
编译失败;有关详细信息,请参阅编译器错误输出。
尝试:使用--stacktrace选项运行以获取堆栈跟踪。使用--info或--debug选项运行以获得更多日志输出。
建造失败
总时间:19.556秒
谢谢。
看起来和Gradle 2.10中添加的增量编译有关系
我设法修复了它,将以下命令添加到gradle:
-Pandroid.incrementalJavaCompile=false
您可以在Android Studio中添加它:文件|设置|构建、执行、部署|编译器将其添加为命令行选项。
编辑2.0.0-beta3插件给出一个警告,告诉你这个选项已添加到GradleDSL:
android {
compileOptions.incremental = false
}
我使用的是纯JavaLibrary模块,但使用的是kotlin插件和dagger依赖项,如下所示:
build. gradle
apply plugin: 'kotlin'
dependencies {
implementation "com.google.dagger:dagger:2.22.1"
kapt "com.google.dagger:dagger-compiler:2.22.1"
}
错误是,我错过了添加kotlin-kapt
插件。所以,我的build. gradle文件最终是这样的:
apply plugin: 'kotlin'
apply plugin: "kotlin-kapt" // make sure you added this line
dependencies {
implementation "com.google.dagger:dagger:2.22.1"
kapt "com.google.dagger:dagger-compiler:2.22.1"
}
您需要更新dagger的版本2.11
。
您的build. gradle
的依赖项块应该如下所示。
dependencies {
// Other dependencies should go here
compile "com.google.dagger:dagger:2.11"
annotationProcessor "com.google.dagger:dagger-compiler:2.11"
provided 'javax.annotation:jsr250-api:1.0'
compile 'javax.inject:javax.inject:1'
}
希望这有帮助。