错误:任务“:app:compileDebugKotlin”执行失败。 > 编译错误。有关详细信息,请参阅日志
Posted
技术标签:
【中文标题】错误:任务“:app:compileDebugKotlin”执行失败。 > 编译错误。有关详细信息,请参阅日志【英文标题】:Error:Execution failed for task ':app:compileDebugKotlin'. > Compilation error. See log for more details 【发布时间】:2017-10-06 12:38:37 【问题描述】:Error:Execution failed for task ':app:compileDebugKotlin'. > Compilation error. See log for more details
build:gradle(模块:app)
buildscript
repositories
maven
url 'https://jitpack.io'
url 'https://maven.fabric.io/public'
dependencies
classpath 'io.fabric.tools:gradle:1.+'
apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'io.fabric'
apply plugin: 'kotlin-android-extensions'
repositories
maven url 'https://maven.fabric.io/public'
mavenCentral()
android
compileSdkVersion 25
buildToolsVersion "25.0.2"
useLibrary 'org.apache.http.legacy'
lintOptions
checkReleaseBuilds false
abortOnError false
defaultConfig
applicationId "uxx.xx.xxe"
minSdkVersion 18
targetSdkVersion 25
versionCode 17
versionName "0.1.14"
testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
buildTypes
release
debuggable false
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
debug
ext.enableCrashlytics = false
debuggable true
minifyEnabled true
shrinkResources true
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
sourceSets
main
jniLibs.srcDirs = ['libs']
assets.srcDirs = ['src/main/assets', 'src/main/assets/']
res.srcDirs = ['src/main/res', 'src/main/assets/fonts']
dexOptions
jumboMode true
javaMaxHeapSize "4g"
packagingOptions
exclude 'META-INF/DEPENDENCIES'
exclude 'META-INF/NOTICE'
exclude 'META-INF/LICENSE'
exclude 'META-INF/LICENSE.txt'
exclude 'META-INF/NOTICE.txt'
exclude 'META-INF/ECLIPSE_.SF'
exclude 'META-INF/ECLIPSE_.RSA'
dependencies
compile fileTree(include: ['*.jar'], dir: 'libs')
compile "com.android.support:cardview-v7:$rootProject.supportLibraryVersion"
compile "com.google.android.gms:play-services-ads:$rootProject.googlePlayServicesVersion"
compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
compile 'org.igniterealtime.smack:smack-android-extensions:4.1.9'
compile 'org.igniterealtime.smack:smack-tcp:4.1.9'
compile 'org.igniterealtime.smack:smack-experimental:4.1.9'
testCompile 'junit:junit:4.12'
apply plugin: 'com.google.gms.google-services'
apply plugin: 'com.getkeepsafe.dexcount'
构建:gradle(项目)
// ***构建文件,您可以在其中添加所有子项目/模块通用的配置选项。
buildscript
ext.kotlin_version = '1.1.2-2'
repositories
jcenter()
dependencies
classpath 'com.android.tools.build:gradle:2.3.1'
classpath 'com.google.gms:google-services:3.0.0'
//visualize the method count
classpath 'com.getkeepsafe.dexcount:dexcount-gradle-plugin:0.6.2'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
allprojects
repositories
jcenter()
maven url "https://jitpack.io"
ext.googlePlayServicesVersion = '10.2.0'
ext.supportLibraryVersion = '25.3.1'
task clean(type: Delete)
delete rootProject.buildDir
已尝试的解决方案:
-
使缓存无效/重新启动
构建 -> 清理项目
更新 kotlin 插件,使用最新版本的 kotlin,google API。
编辑
./gradlew build --stacktrace > logs.txt 2>logErrors.txt
logErrors.txt
* Exception is:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugKotlin'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:84)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:55)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:58)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:88)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:46)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:236)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.execute(DefaultTaskGraphExecuter.java:228)
at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:61)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:228)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:215)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.processTask(AbstractTaskPlanExecutor.java:77)
at org.gradle.execution.taskgraph.AbstractTaskPlanExecutor$TaskExecutorWorker.run(AbstractTaskPlanExecutor.java:58)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor.process(DefaultTaskPlanExecutor.java:32)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter.execute(DefaultTaskGraphExecuter.java:113)
at org.gradle.execution.SelectedTaskExecutionAction.execute(SelectedTaskExecutionAction.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.access$000(DefaultBuildExecuter.java:23)
at org.gradle.execution.DefaultBuildExecuter$1.proceed(DefaultBuildExecuter.java:43)
at org.gradle.execution.DryRunBuildExecutionAction.execute(DryRunBuildExecutionAction.java:32)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:37)
at org.gradle.execution.DefaultBuildExecuter.execute(DefaultBuildExecuter.java:30)
at org.gradle.initialization.DefaultGradleLauncher$3.execute(DefaultGradleLauncher.java:196)
at org.gradle.initialization.DefaultGradleLauncher$3.execute(DefaultGradleLauncher.java:193)
at org.gradle.internal.Transformers$4.transform(Transformers.java:169)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:106)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:56)
at org.gradle.initialization.DefaultGradleLauncher.doBuildStages(DefaultGradleLauncher.java:193)
at org.gradle.initialization.DefaultGradleLauncher.doBuild(DefaultGradleLauncher.java:119)
at org.gradle.initialization.DefaultGradleLauncher.run(DefaultGradleLauncher.java:102)
at org.gradle.launcher.exec.GradleBuildController.run(GradleBuildController.java:71)
at org.gradle.tooling.internal.provider.ExecuteBuildActionRunner.run(ExecuteBuildActionRunner.java:28)
at org.gradle.launcher.exec.ChainingBuildActionRunner.run(ChainingBuildActionRunner.java:35)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:41)
at org.gradle.launcher.exec.InProcessBuildActionExecuter.execute(InProcessBuildActionExecuter.java:26)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:75)
at org.gradle.tooling.internal.provider.ContinuousBuildActionExecuter.execute(ContinuousBuildActionExecuter.java:49)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:44)
at org.gradle.tooling.internal.provider.ServicesSetupBuildActionExecuter.execute(ServicesSetupBuildActionExecuter.java:29)
at org.gradle.launcher.daemon.server.exec.ExecuteBuild.doBuild(ExecuteBuild.java:67)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.WatchForDisconnection.execute(WatchForDisconnection.java:47)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ResetDeprecationLogger.execute(ResetDeprecationLogger.java:26)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.RequestStopIfSingleUsedDaemon.execute(RequestStopIfSingleUsedDaemon.java:34)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:74)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput$2.call(ForwardClientInput.java:72)
at org.gradle.util.Swapper.swap(Swapper.java:38)
at org.gradle.launcher.daemon.server.exec.ForwardClientInput.execute(ForwardClientInput.java:72)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogAndCheckHealth.execute(LogAndCheckHealth.java:55)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.LogToClient.doBuild(LogToClient.java:60)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.EstablishBuildEnvironment.doBuild(EstablishBuildEnvironment.java:72)
at org.gradle.launcher.daemon.server.exec.BuildCommandOnly.execute(BuildCommandOnly.java:36)
at org.gradle.launcher.daemon.server.api.DaemonCommandExecution.proceed(DaemonCommandExecution.java:120)
at org.gradle.launcher.daemon.server.exec.StartBuildOrRespondWithBusy$1.run(StartBuildOrRespondWithBusy.java:50)
at org.gradle.launcher.daemon.server.DaemonStateCoordinator$1.run(DaemonStateCoordinator.java:297)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:54)
at org.gradle.internal.concurrent.StoppableExecutorImpl$1.run(StoppableExecutorImpl.java:40)
Caused by: org.gradle.api.GradleException: Compilation error. See log for more details
at org.jetbrains.kotlin.gradle.tasks.TasksUtilsKt.throwGradleExceptionIfError(tasksUtils.kt:8)
at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.processCompilerExitCode(Tasks.kt:286)
at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompiler$kotlin_gradle_plugin(Tasks.kt:260)
at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompiler$kotlin_gradle_plugin(Tasks.kt:160)
at org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.execute(Tasks.kt:141)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$IncrementalTaskAction.doExecute(DefaultTaskClassInfoStore.java:163)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:134)
at org.gradle.api.internal.project.taskfactory.DefaultTaskClassInfoStore$StandardTaskAction.execute(DefaultTaskClassInfoStore.java:123)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:95)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:76)
... 70 more
【问题讨论】:
您也可以发布日志中的内容吗? 嘿,对不起。其实我不知道我应该在哪里寻找日志。你能帮我吗@zsmb13 @zsmb13 我已经在消息部分查找但没有可用的日志 @zsmb13 我已经添加了日志 您可能应该在 Kotlin 错误跟踪器中 file an issue。 【参考方案1】:在简单的代码重构尝试后,我得到了这样的错误。它已经发生,也没有在连接某些库之后,gradle 也没有任何变化。看起来我的代码中有问题,但编译器找不到问题。这就是为什么我仔细检查了我所做的所有更改并发现我已经更改了接口中的某种方法签名,但没有在实现它的类中更改它。 我在一天之内两次遇到此错误,并决定分享我的经验。我希望这是一个临时的编译器错误。
解决方案 1 可能的解决方案是转到文件 -> 设置 -> 编译器 -> 并将“--stacktrace --debug”添加到命令行选项。阅读日志并尝试找出问题的答案。
在新的 Android Studio 3.1.+ 中,您可以通过按“构建”选项卡上的“切换视图”来启用/禁用控制台日志详细信息。在那里你可以找到详细信息。 注意这两种模式都有助于调查问题的原因。见:https://***.com/a/49717363/
解决方案 2 点击Gradle
(在右侧栏上),然后在:app
下选择assembleDebug
(或assembleYourFlavor
,如果您使用口味)。 运行标签中会显示错误。见:https://***.com/a/51022296
解决方案 3 作为最后的手段。在 android studio 中,尝试分析 -> 检查代码 -> 整个项目。等到检查结束后再更正“General”部分中的错误以及其他部分中可能存在的错误。
注意 kapt3 可能是此类错误的来源。我删除了apply plugin: 'kotlin-kapt'
并将kapt generateStubs = true
添加到build.gradle 的android
部分。似乎以前版本的 kapt 生成器没有错误。 (更新。看起来 kapt 的错误在 kotlin 版本 1.2.+ 上消失了)
【讨论】:
@newbie 我希望有一天我们能得到更新,修复此类问题。 好吧,上次更新中的这个解决方案对我来说有点工作。删除 kotlin-kapt 并添加 kaptgeneretaStubs = true 原始(旧)kapt 已弃用,将在 Kotlin 1.2 之后完全删除。如果您在使用apply plugin: 'kotlin-kapt'
时遇到任何问题,请向kotl.in/issue 提出问题。
@IgorGanapolsky 在 android studio 中尝试分析 -> 检查代码 -> 整个项目。等到检查结束,然后更正“常规”部分中的错误。
我正在使用 Android studio 3.3 和 kotlin 版本 1.3.20 解决方案 3 帮助了我。非常感谢。【参考方案2】:
我收到了类似于问题中发布的误导性错误消息:
编译错误。查看日志了解更多详情
还有:
org.gradle.api.tasks.TaskExecutionException: Execution failed for task ':app:compileDebugKotlin'.
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:100)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:70)
at org.gradle.api.internal.tasks.execution.OutputDirectoryCreatingTaskExecuter.execute(OutputDirectoryCreatingTaskExecuter.java:51)
at org.gradle.api.internal.tasks.execution.SkipUpToDateTaskExecuter.execute(SkipUpToDateTaskExecuter.java:62)
at org.gradle.api.internal.tasks.execution.ResolveTaskOutputCachingStateExecuter.execute(ResolveTaskOutputCachingStateExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:60)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:97)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:87)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:52)
at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:54)
at org.gradle.api.internal.tasks.execution.ExecuteAtMostOnceTaskExecuter.execute(ExecuteAtMostOnceTaskExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:34)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker$1.run(DefaultTaskGraphExecuter.java:248)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:241)
at org.gradle.execution.taskgraph.DefaultTaskGraphExecuter$EventFiringTaskWorker.execute(DefaultTaskGraphExecuter.java:230)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.processTask(DefaultTaskPlanExecutor.java:123)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.access$200(DefaultTaskPlanExecutor.java:79)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:104)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker$1.execute(DefaultTaskPlanExecutor.java:98)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.execute(DefaultTaskExecutionPlan.java:626)
at org.gradle.execution.taskgraph.DefaultTaskExecutionPlan.executeWithTask(DefaultTaskExecutionPlan.java:581)
at org.gradle.execution.taskgraph.DefaultTaskPlanExecutor$TaskExecutorWorker.run(DefaultTaskPlanExecutor.java:98)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:63)
at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:46)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:55)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.gradle.api.GradleException: Compilation error. See log for more details
at org.jetbrains.kotlin.gradle.tasks.TasksUtilsKt.throwGradleExceptionIfError(tasksUtils.kt:16)
at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.processCompilerExitCode(Tasks.kt:429)
at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompiler$kotlin_gradle_plugin(Tasks.kt:390)
at org.jetbrains.kotlin.gradle.tasks.KotlinCompile.callCompiler$kotlin_gradle_plugin(Tasks.kt:274)
at org.jetbrains.kotlin.gradle.tasks.AbstractKotlinCompile.execute(Tasks.kt:233)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:73)
at org.gradle.api.internal.project.taskfactory.IncrementalTaskAction.doExecute(IncrementalTaskAction.java:46)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:39)
at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:26)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$1.run(ExecuteActionsTaskExecuter.java:121)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:336)
at org.gradle.internal.progress.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:328)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:199)
at org.gradle.internal.progress.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:110)
at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:92)
... 32 more
解决方案:
我解决了
-
点击
Gradle
(右侧栏)->
然后在:app
下
然后选择assembleDebug
(或assembleYourFlavor
,如果您使用口味)
图片中:
1 和 2:
3:
错误将显示在 运行: 选项卡中。
【讨论】:
谢谢。使用这个发现了问题。需要注意的一点是,当回滚日志时,最初出现的 gradle 错误并没有太大帮助,继续回滚,您会发现原始错误。可通过指向导致问题的源文件的蓝色链接轻松识别。 如果列表,我看不到“assembleDebug” "./gradlew assembleDebug" 在项目根目录将完成这项工作 @user7856586 我也是,没找到 assembleDebug ":app/Tasks/other/assembleDebug" 是当前路径【参考方案3】:如果您使用的是 AS 3.1,新的构建图形控制台对于找出问题的根源并不是很有帮助。
您需要单击切换视图并以文本格式查看日志以查看错误,如果需要Run with --stacktrace
【讨论】:
谢谢!!经过几个小时的调试后,我不得不这样做。我想添加到您的答案中的一件事是,错误可能是包含“编译错误。有关更多详细信息,请参阅日志”消息的行之上的一些行。 谢谢!查看文本错误更加明确。经过数小时的调试,我发现了正确的错误。对我来说是因为viewModel的@inject,我也忘了把注解放在viewModel构造函数上 很有趣,这是捕获 Dagger 相关错误的唯一方法。可笑! 非常感谢您的回答。我发现我忘记在 LoggingInterceptor 中导入 Log。 如果 IDE 无法将编译错误传达给开发人员,则它与 IDE 一样失败。认真的谷歌:周末工作,直到这个问题得到解决。【参考方案4】:在这种情况下查看gradle console
,它将详细显示导致此编译错误的确切位置的问题。
在我的情况下,我在我的一个班级中使用Butterknife
,而我使用 android studio 的实用程序将 auto-converted
该班级改为kotlin
Log in Gradle Console
Executing tasks: [:app:assembleDebug]
Configuration on demand is an incubating feature.
Configuration 'compile' in project ':app' is deprecated. Use 'implementation' instead.
registerResGeneratingTask is deprecated, use registerGeneratedFolders(FileCollection)
:app:buildInfoDebugLoader
:app:preBuild UP-TO-DATE
:app:preDebugBuild UP-TO-DATE
:app:compileDebugAidl UP-TO-DATE
:app:compileDebugRenderscript UP-TO-DATE
:app:checkDebugManifest UP-TO-DATE
:app:generateDebugBuildConfig UP-TO-DATE
:app:generateDebugResValues UP-TO-DATE
:app:generateDebugResources UP-TO-DATE
:app:processDebugGoogleServices
Parsing json file: /Users/Downloads/myproject/app/google-services.json
:app:mergeDebugResources UP-TO-DATE
:app:createDebugCompatibleScreenManifests UP-TO-DATE
:app:processDebugManifest
:app:splitsDiscoveryTaskDebug UP-TO-DATE
:app:processDebugResources
:app:kaptGenerateStubsDebugKotlin
Using kotlin incremental compilation
:app:kaptDebugKotlin
e: /Users/Downloads/myproject/app/build/tmp/kapt3/stubs/debug/com/myproject/util/ConfirmationDialog.java:10: error: @BindView fields must not be private or static. (com.myproject.util.ConfirmationDialog.imgConfirmationLogo)
e:
e: private android.widget.ImageView imgConfirmationLogo;
e: ^
e: /Users/Downloads/myproject/app/build/tmp/kapt3/stubs/debug/com/myproject/util/ConfirmationDialog.java:13: error: @BindView fields must not be private or static. (com.myproject.util.ConfirmationDialog.txtConfirmationDialogTitle)
e:
e: private android.widget.TextView txtConfirmationDialogTitle;
e: ^
e: /Users/Downloads/myproject/app/build/tmp/kapt3/stubs/debug/com/myproject/util/ConfirmationDialog.java:16: error: @BindView fields must not be private or static. (com.myproject.util.ConfirmationDialog.txtConfirmationDialogMessage)
e:
e: private android.widget.TextView txtConfirmationDialogMessage;
e: ^
e: /Users/Downloads/myproject/app/build/tmp/kapt3/stubs/debug/com/myproject/util/ConfirmationDialog.java:19: error: @BindView fields must not be private or static. (com.myproject.util.ConfirmationDialog.txtViewPositive)
e:
e: private android.widget.TextView txtViewPositive;
e: ^
e: /Users/Downloads/myproject/app/build/tmp/kapt3/stubs/debug/com/myproject/util/ConfirmationDialog.java:22: error: @BindView fields must not be private or static. (com.pokkt.myproject.ConfirmationDialog.txtViewNegative)
e:
e: private android.widget.TextView txtViewNegative;
e: ^
e: /Users/Downloads/myproject/app/build/tmp/kapt3/stubs/debug/com/myproject/util/ExitDialog.java:10: error: @BindView fields must not be private or static. (com.myproject.util.ExitDialog.txtViewPositive)
e:
e: private android.widget.TextView txtViewPositive;
e: ^
e: /Users/Downloads/myproject/app/build/tmp/kapt3/stubs/debug/com/myproject/util/ExitDialog.java:13: error: @BindView fields must not be private or static. (com.myproject.util.ExitDialog.txtViewNegative)
e:
e: private android.widget.TextView txtViewNegative;
e: ^
e: java.lang.IllegalStateException: failed to analyze: org.jetbrains.kotlin.kapt3.diagnostic.KaptError: Error while annotation processing
at org.jetbrains.kotlin.analyzer.AnalysisResult.throwIfError(AnalysisResult.kt:57)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules(KotlinToJVMBytecodeCompiler.kt:144)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:167)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:55)
at org.jetbrains.kotlin.cli.common.CLICompiler.exec(CLICompiler.java:182)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.execCompiler(CompileServiceImpl.kt:397)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.access$execCompiler(CompileServiceImpl.kt:99)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$2.invoke(CompileServiceImpl.kt:365)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1$2.invoke(CompileServiceImpl.kt:99)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$2$$special$$inlined$withValidClientOrSessionProxy$lambda$1.invoke(CompileServiceImpl.kt:798)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$2$$special$$inlined$withValidClientOrSessionProxy$lambda$1.invoke(CompileServiceImpl.kt:99)
at org.jetbrains.kotlin.daemon.common.DummyProfiler.withMeasure(PerfUtils.kt:137)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.checkedCompile(CompileServiceImpl.kt:825)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.access$checkedCompile(CompileServiceImpl.kt:99)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$2.invoke(CompileServiceImpl.kt:797)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$doCompile$2.invoke(CompileServiceImpl.kt:99)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.ifAlive(CompileServiceImpl.kt:1004)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.ifAlive$default(CompileServiceImpl.kt:865)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.doCompile(CompileServiceImpl.kt:791)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.access$doCompile(CompileServiceImpl.kt:99)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1.invoke(CompileServiceImpl.kt:364)
at org.jetbrains.kotlin.daemon.CompileServiceImpl$compile$1.invoke(CompileServiceImpl.kt:99)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.ifAlive(CompileServiceImpl.kt:1004)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.ifAlive$default(CompileServiceImpl.kt:865)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:336)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:346)
at sun.rmi.transport.Transport$1.run(Transport.java:200)
at sun.rmi.transport.Transport$1.run(Transport.java:197)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:568)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:826)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:683)
at java.security.AccessController.doPrivileged(Native Method)
at sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:682)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
Caused by: org.jetbrains.kotlin.kapt3.diagnostic.KaptError: Error while annotation processing
at org.jetbrains.kotlin.kapt3.AnnotationProcessingKt.doAnnotationProcessing(annotationProcessing.kt:90)
at org.jetbrains.kotlin.kapt3.AnnotationProcessingKt.doAnnotationProcessing$default(annotationProcessing.kt:42)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.runAnnotationProcessing(Kapt3Extension.kt:205)
at org.jetbrains.kotlin.kapt3.AbstractKapt3Extension.analysisCompleted(Kapt3Extension.kt:166)
at org.jetbrains.kotlin.kapt3.ClasspathBasedKapt3Extension.analysisCompleted(Kapt3Extension.kt:82)
at org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM$analyzeFilesWithJavaIntegration$2.invoke(TopDownAnalyzerFacadeForJVM.kt:89)
at org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:99)
at org.jetbrains.kotlin.resolve.jvm.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:76)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze$1.analyze(KotlinToJVMBytecodeCompiler.kt:365)
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:105)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:354)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules(KotlinToJVMBytecodeCompiler.kt:139)
... 40 more
FAILED
:app:buildInfoGeneratorDebug
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':app:kaptDebugKotlin'.
> Internal compiler error. See log for more details
* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output.
BUILD FAILED in 32s
16 actionable tasks: 7 executed, 9 up-to-date
在我的日志中,它清楚地表明问题在于使用黄油刀声明变量。所以我研究了这个问题并能够解决它。
【讨论】:
在我看来,最好使用 kotlin 扩展而不是黄油刀。不过还是感谢您分享您的经验。它对很多人都有帮助。 @Yazon2006 kotlin 现在支持许多 android 框架,这就是为什么我试一试kotlinlang.org/docs/tutorials/android-frameworks.html 你是对的!但是,如果我们确切地谈论由黄油刀中的 @BindView 进行的视图初始化,我发现 kotlin 扩展提供了更简单的方法来获取代码中的视图实例。看看吧,你会喜欢的)kotlinlang.org/docs/tutorials/android-plugin.html @Yazon2006 感谢您的链接,它比butterknife
容易得多。【参考方案5】:
当出现 Kotlin 编译错误时会出现此错误。
运行以下命令查找Kotlin编译错误的位置,
gradlew clean assembleDebug (for Windows)
./gradlew clean assembleDebug (for Linux and Mac)
它将显示 Kotlin 编译错误发生在哪一行的确切位置。
【讨论】:
【参考方案6】:在 Mac 上:
转到 Android Studio > 首选项 > 构建、执行、部署 > 编译器
在 Windows 上:
转到文件 > 设置 > > 构建、执行、部署 > 编译器
现在,在命令行选项字段中,添加以下三个标志:
--stacktrace --info --scan
如下图
现在,从 Android Studio 底部打开 Build 窗口
然后,Build 窗口左侧有一个按钮:
按下此按钮,您将看到详细的日志,其中包含阻止项目编译的确切代码
【讨论】:
【参考方案7】:我将项目更改为使用 Androidx,因此我使用了迁移工具,但某些文件(许多文件)没有自动更改。我打开了每个文件(活动、枚举、片段),发现了很多错误。我纠正了它们,但编译仍然显示我无法理解的错误。在寻找解决方案后,我找到了有人说的这个答案:
去分析>>检查代码
整个项目:
花了一些时间,然后向我展示了以下结果:
当我纠正了我认为很重要的错误时,我一直在运行构建,直到剩余的错误不再影响构建。
我的 Android Studio 详情
【讨论】:
【参考方案8】:我遇到了类似的问题。 问题是我在视图的属性中错误地写了模型的属性:
<TextView
android:layout_
android:layout_
android:text="@ferm.coin.value"/>
这部分错了:
@ferm.coin.value
当我写了正确的属性后,错误就解决了。
【讨论】:
【参考方案9】:1 - 检查项目中的 kotlin 版本是否相同
在你的项目级 gradle 文件中声明这个
buildscript
ext
kotlin_version = '1.5.10'
并确保 kotlin gradle 插件具有相同的版本
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
2 - 使用 --stacktrace
--debug
--info
--scan
等参数逐个运行构建
仔细阅读错误并检查它是否提到了您的任何文件
3 - 从构建中导出日志并读取它们
运行此命令
./gradlew build --stacktrace > logs.txt 2>logErrors.txt
4 - 检查代码并修复您可能发现的任何问题
在 Android Studio 中转到 Analyze -> Inspect Code
5 - 使缓存失效、清理和重建项目
如果这不能解决你的问题,你可能有依赖问题,仔细检查它们,让你的 1 对所有依赖都满意
【讨论】:
我的情况,我刚刚更新到:ext.kotlin_version = '1.3.50'【参考方案10】:我找到了解决这个问题的方法。
请按照以下步骤操作:
-
转到 File->Settings->Compiler->add To --stacktrace --debug in Command-line-Options 框,然后应用 & ok。
重建项目。
运行一个项目。
【讨论】:
【参考方案11】:我遇到了同样的问题,我通过检查构建选项卡并切换到 文本模式 解决了它。检查控制台它会显示问题 我的是在不删除用法的情况下删除可绘制对象,在不删除用法的情况下删除类 Text mode button
【讨论】:
【参考方案12】:就我而言,我不小心将 XML 文件中的 version="1.0"
更改为 xml version="1.0"
。
我只需要把它改回来。
如果您遇到同样的问题并且上述解决方案对您不起作用。
打开Gradle Console
并滚动到Run with --debug option
点击它,它会向您显示有关您的错误的更多有用信息。
一些注意事项:
我在 XML 中进行更改后不会直接出现此错误,它仅在我更改一些 java 代码后才会出现。我认为这与即时运行和积累现金有关。
【讨论】:
【参考方案13】:我想将我的解决方案添加到上面,也许它可以帮助某人。当我通过Room
在模型上创建field
并且不为field
生成getter/setter
时。结果项目没有编译,也没有明显的错误。
【讨论】:
【参考方案14】:这条线适用于我在 mac 或 Linux 上。
./gradlew clean assembleDebug
【讨论】:
【参考方案15】:我无缘无故遇到了类似的问题,我认为这是由 IDE(android studio) 引起的。我已经尝试了上述所有解决方案,但没有奏效。最后,在我自己的情况下,我通过以下操作解决了这个问题:
- 关闭当前项目并将其从android studio中的项目列表中删除,然后通过Open an existing Android Studio project
重新打开,就可以工作了。希望我的经验对你有用。
【讨论】:
【参考方案16】:请将 Gradle 文件中的 kotlin 版本升级到 ext.kotlin_version = '1.5.10'
【讨论】:
【参考方案17】:对我来说,将 kotlin 版本更新到应用级别 build.gradle 文件中的最新版本,然后同步项目即可。 因此 gradle 文件如下所示(在撰写答案时):
buildscript
...
...
dependency
classpath "com.android.tools..."
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31"
【讨论】:
这就是答案。根据我的经验,从 1.6.0 回退到 1.5.10 版本可以解决问题【参考方案18】:我遇到了同样的问题,终于找到了原因。在我的例子中,这是一个写得很糟糕的 Java 方法:
@FormUrlEncoded
@POST("register-user/")
Call<RegisterUserApiResponse> registerUser(
@Field("email") String email,
@Field("password") String password,
@Field("date") String birthDate,
);
注意“日期”字段后面的非法逗号。由于某种原因,编译器无法揭示这个确切的错误,并附带了 ':app:compileDebugKotlin'. > Compilation error
的东西。
【讨论】:
【参考方案19】:将Android Studio从3.2.1升级到3.3,问题就消失了
【讨论】:
【参考方案20】:在我的例子中:: 我使用kotlin extensions
来访问和绑定我的视图,我最近将view
移动到另一个屏幕并且忘记从导致此错误的前一个片段中删除它的引用。
kotlin synthetic extensions
不是编译时安全的。我真的很喜欢这个,但显然在大型项目中,如果再次发生这种情况,我肯定会心脏病发作。
【讨论】:
【参考方案21】:在 Android Studio Terminal 中运行 gradle assembleDebug --scan
,在我的例子中,我删除了 XML 中的一个元素,忘记从代码中删除它,但是编译器无法编译并向我显示 Error:Execution failed for task ':app:compileDebugKotlin'. > Compilation error. See log for more details
。
【讨论】:
因为我在 Windows 中的路径上没有 gradle,所以我可以使用 gradle 包装器:gradlew assembleDebug --scan。这帮助我看到了构建日志中没有显示的错误输出。运行大约需要 5 分钟【参考方案22】:我遇到了同样的错误,它与同名的 Kotlin 和 java 文件有关。
问题出现在我在一个分支中将一个 java 文件转换为 kotlin,然后合并我的分支后,但两个文件都保留在项目中。
错误没有显示重复的文件名,而是添加后
kapt.incremental.apt=false
到本文建议的“gradle.properties”:
【讨论】:
很好,但请使用Code Sample
格式按钮 (
) 进行代码粘贴以提高可读性。谢谢。【参考方案23】:
我遇到了同样的问题。要解决此问题,只需打开您进行更改的所有文件(最近的工作文件)并检查您是否忘记删除一些应该删除的文件。
在我的情况下,问题在于我在我的一个文件中使用的未引用代码,并且该代码存在于该文件中,而该代码不应存在于该文件中,因为我使用的是我拥有的接口从我的项目中删除,但我忘记从我的一个文件中删除)。
【讨论】:
【参考方案24】:就我而言,我尝试将 play_services
和 firebase
版本升级到 15.0
。回到11.4.2
解决了我的问题...
【讨论】:
【参考方案25】:我的场景:
旧的 Kotlin 数据类:
data class AddHotelParams(val destination: Place?, val checkInDate: LocalDate,
val checkOutDate: LocalDate?): JsonObject
新的 Kotlin 数据类:
data class AddHotelParams(val destination: Place?, val checkInDate: LocalDate,
val checkOutDate: LocalDate?, val roundTrip: Boolean): JsonObject
问题是我忘记在代码的某些部分更改对象初始化。我得到了一个通用的“compileInternalDebugKotlin”错误,而不是被告知我需要在哪里更改初始化。
将初始化更改为代码的所有部分解决了错误。
【讨论】:
【参考方案26】:在我的例子中,我忘记将返回类型添加到从 RoomDatabase 继承的类中的函数中:
abstract class LocalDb : RoomDatabase()
abstract fun progressDao(): ProgressDao
ProgressDao 返回类型丢失。
【讨论】:
【参考方案27】:最近另一个可能的解决方案是将 gradle 版本更改为:
classpath 'com.android.tools.build:gradle:3.0.0-rc2'
和更新构建工具
【讨论】:
【参考方案28】:在我的情况下,错误是由这一行引起的
@BindColor(R.color.colorAccent) var mColor: 整数? = 0
解决了
@JvmField @BindColor(android.R.color.white) @ColorInt 内部变量 mColor: Int = 0
GradleConsole 中的错误
:app:kaptDebugKotlin e:\app\build\tmp\kapt3\stubs\debug\MainFragment.java:23:错误:@BindColor 字段类型必须是“int”或“ColorStateList”。 (com.sample.MainFragment.mColor) e:
e: 私有 java.lang.Integer mColor;
【讨论】:
【参考方案29】:我惊讶地发现,当我有一个关闭的课程时,它会产生这个模糊的错误。将其更改为公开课程即可解决此问题。
before:
class DefaultSubscriber<T> : Observer<T> //...
after:
open class DefaultSubscriber<T> : Observer<T> //...
【讨论】:
【参考方案30】:以下更改对我有用
我更改了分发 URL,位于 gradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.9-all.zip
和
dependencies
classpath 'com.android.tools.build:gradle:3.2.1'
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
kotlin 版本 1.2.71
【讨论】:
以上是关于错误:任务“:app:compileDebugKotlin”执行失败。 > 编译错误。有关详细信息,请参阅日志的主要内容,如果未能解决你的问题,请参考以下文章
Visual Studio 错误:“无法激活后台任务。后台任务激活失败。”