오류 : ': app : compileDebugKotlin'작업에 대한 실행이 실패했습니다. > 컴파일 오류. 자세한 내용은 로그를 참조하십시오
Error:Execution failed for task ':app:compileDebugKotlin'. > Compilation error. See log for more details
build : gradle (모듈 : 앱)
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'
build : 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, Google API를 사용하는 kotlin 플러그인 업데이트
편집하다
./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
간단한 코드 리팩토링 시도 후 이러한 오류가 발생했습니다. gradle의 변경 사항이 없거나 일부 라이브러리가 연결된 후에도 발생했습니다. 내 코드에 문제가있는 것처럼 보이지만 컴파일러에서 문제를 찾을 수 없습니다. 그렇기 때문에 내가 한 모든 변경 사항을 두 번 확인 하고 인터페이스에서 메소드 서명을 변경했지만 클래스를 구현하는 클래스에서는 변경하지 않았다는 것을 알았습니다 . 하루 동안이 오류가 두 번 발생하여 내 경험을 공유하기로 결정했습니다. 나는 이것이 일시적인 컴파일러 버그이기를 바란다.
해결 방법 1 가능한 해결책은 파일-> 설정-> 컴파일러->로 이동하여 "--stacktrace --debug"를 명령 줄 옵션에 추가하는 것입니다. 로그를 읽고 무엇이 잘못되었는지에 대한 답을 찾으십시오.
새로운 Android Studio 3.1. +에서는 "빌드"탭에서 "토글보기"를 눌러 콘솔 로그 세부 사항을 활성화 / 비활성화 할 수 있습니다. 세부 정보를 찾을 수 있습니다. 에주의 두 모드는 문제의 원인에 대한 조사에 유용 할 수있다. 참조 : https://stackoverflow.com/a/49717363/
해결 방법 2Gradle
(오른쪽 표시 줄에서)를 클릭 한 다음 아래에서 (또는 맛을 사용하는 경우) :app
선택하십시오 . 실행 탭 에 오류가 표시됩니다 . 참조 : https://stackoverflow.com/a/51022296assembleDebug
assembleYourFlavor
해결책 3 최후의 수단으로. 안드로이드 스튜디오에서 분석-> 코드 검사-> 전체 프로젝트를 시도하십시오. 검사가 끝날 때까지 기다린 다음 "일반"섹션의 오류와 다른 섹션의 오류를 수정하십시오.
참고 kapt3은 이러한 버그의 원인이 될 수 있습니다. build.gradle 섹션을 제거 apply plugin: 'kotlin-kapt'
하고 추가 kapt { generateStubs = true }
했습니다 android {}
. 이전 버전의 Kapt Generator에는 버그가없는 것 같습니다. ( 업데이트. kotlin 버전 1.2 이상에서 kapt의 버그가 사라진 것 같습니다)
AS 3.1을 사용하는 경우 새 빌드 그래픽 콘솔은 문제의 원인을 찾는 데 큰 도움이되지 않습니다.
토글보기를 클릭하고 텍스트 형식의 로그를보고 오류를보고 필요한 경우 Run with --stacktrace
질문에 게시 된 것과 유사한 오류 메시지가 나타났습니다.
컴파일 오류 자세한 내용은 로그를 참조하십시오
과:
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 :
삼:
실행 : 탭 에 오류가 표시됩니다 .
이 경우 gradle console
정확한 위치와 함께 문제가 자세하게 표시되어 컴파일 오류가 발생합니다.
내 경우 Butterknife
에는 내 수업 중 하나 에서 사용 하고 있었고 안드로이드 스튜디오의 유틸리티 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
내 로그에서와 같이 버터 나이프로 변수를 선언하는 데 문제가 있음을 분명히 보여줍니다. 그래서 나는이 문제를 조사하고 해결할 수있었습니다.
나는 비슷한 문제가 있었다. 문제는보기의 속성에 모델의 속성을 잘못 썼다는 것입니다.
<TextView
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:text="@{ferm.coin.value}"/>
이 부분은 틀렸다 :
@{ferm.coin.value}
올바른 속성을 쓰면 오류가 해결되었습니다.
Mac에서 :
Android Studio> 환경 설정> 빌드, 실행, 배치> 컴파일러로 이동하십시오.
Windows에서 :
파일> 설정>> 빌드, 실행, 배포> 컴파일러로 이동하십시오.
이제 명령 행 옵션 필드에서 다음 세 플래그를 추가하십시오.
--stacktrace --info --scan
아래와 같이
이제 Android 스튜디오 하단에서 빌드 창을 엽니 다.
그런 다음 빌드 창의 왼쪽에 버튼이 있습니다.
이 버튼을 누르면 프로젝트를 컴파일하지 못하게하는 정확한 코드가있는 자세한 로그가 표시됩니다
Kotlin Compilation Error가 발생하면이 오류가 나타납니다.
Kotlin Compilation Error가있는 곳을 찾으려면 아래 명령을 실행하십시오.
gradlew clean assembleDebug (for Windows)
./gradlew clean assembleDebug (for Linux and Mac)
Kotlin Compilation Error가있는 줄의 정확한 위치를 보여줍니다.
빌드 탭을 확인하고 텍스트 모드로 전환하여 해결 한 것과 동일한 문제가 발생했습니다 . 콘솔을 사용하여 사용법을 삭제하지 않고 드로어 블을 제거하는 중 문제를 표시하고 사용법을 삭제하지 않고 클래스를 삭제하십시오. 텍스트 모드 버튼
이 문제에 대한 해결책을 찾았습니다.
다음 단계를 따르십시오.
- Command-line-Options 상자에서 File-> Settings-> Compiler-> Add To --stacktrace --debug로 이동 한 다음 적용하고 확인하십시오.
- 프로젝트를 다시 빌드하십시오.
- 프로젝트를 실행하십시오.
위의 솔루션을 추가하고 싶습니다. 아마 도움이 될 수 있습니다. 나는를 만들 때 field
를 통해 모델 Room
과 생성하지 않습니다 getter/setter
을 위해 field
. 결과적으로 프로젝트가 컴파일되지 않고 명확한 오류가 없습니다.
나는 같은 문제가 있었고 마침내 그 이유를 발견했다. 제 경우에는 잘못 작성된 Java 메소드였습니다.
@FormUrlEncoded
@POST("register-user/")
Call<RegisterUserApiResponse> registerUser(
@Field("email") String email,
@Field("password") String password,
@Field("date") String birthDate,
);
"날짜"필드 뒤에 잘못된 쉼표가 있습니다. 어떤 이유로 컴파일러는이 정확한 오류를 밝힐 수 없었으며 ':app:compileDebugKotlin'. > Compilation error
문제가 발생했습니다.
이 라인은 Mac 또는 Linux에서 작동합니다.
./gradlew clean assembleDebug
Android Studio를 3.2.1에서 3.3으로 업그레이드하고 문제가 사라졌습니다.
아무 이유없이 비슷한 문제에 직면했는데 IDE (android studio)로 인한 것 같습니다. 위의 모든 솔루션을 시도했지만 작동하지 않았습니다. 마지막으로 내 자신의 상황에서 다음 작업 으로이 문제를 해결했습니다 .- 현재 프로젝트를 닫고 android studio의 프로젝트 목록에서 프로젝트를 제거한 Open an existing Android Studio project
다음 다시 열면 작동 할 수 있습니다. 내 경험이 도움이되기를 바랍니다.
내 경우 : : kotlin extensions
내보기에 액세스하고 바인딩 하는 데 사용하고 있었고 최근 view
에 다른 화면 으로 이동 하여이 오류를 일으킨 이전 조각에서 참조를 제거하는 것을 잊었습니다.
kotlin synthetic extensions
컴파일 시간이 안전하지 않습니다. 나는 이것을 정말로 좋아했지만 분명히 큰 프로젝트에서, 이것이 다시 발생하면 분명히 심장 마비를 당할 것입니다.
제 경우에는 실수로 XML 파일 로 변경 version="1.0"
했습니다 xml version="1.0"
.
나는 그것을 다시 바꿔야했습니다.
동일한 문제가 있고 위의 해결책이 효과가 없다면 열고 Gradle Console
스크롤하여 Run with --debug option
클릭하면 오류에 대한 더 유용한 정보가 표시됩니다.
몇 가지 참고 사항 :
이 오류는 XML을 변경 한 직후에 나타나지 않으며 Java 코드를 변경 한 후에 만 나타납니다. 나는 그것이 즉시 실행 및 현금 구축과 관련이 있다고 생각합니다.
나는 같은 문제가 있었다. 이 문제를 해결하려면 변경 한 모든 파일 (최근 작업 파일)을 열고 삭제해야 할 파일을 삭제하는 것을 잊지 마십시오.
내 경우에는 문제는 내 파일 중 하나에서 사용하고있는 참조되지 않은 코드에 있었고 해당 코드는 해당 파일에 존재하지 않습니다. 프로젝트에서 삭제 한 인터페이스를 사용하고 있었기 때문에 해당 파일에는 존재하지 않아야합니다. 내 파일 중 하나에서 삭제하는 것을 잊지 마십시오).
내 경우, 나는 업그레이드를 시도 play_services
하고 firebase
에 버전 15.0
. 다시 11.4.2
문제를 해결했습니다.
내 시나리오 :
오래된 코 틀린 데이터 클래스 :
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"오류가 발생했습니다.
코드의 모든 부분으로 초기화를 변경하면 오류가 해결되었습니다.
또 다른 가능한 최근 솔루션은 gradle 버전을 다음과 같이 변경하는 것입니다.
classpath 'com.android.tools.build:gradle:3.0.0-rc2'
빌드 도구 업데이트
나는 같은 문제가 있었고 마침내 해결책에 도달했습니다.
" --stacktrace --debug "를 명령 행 옵션 (파일-> 설정-> 컴파일러)에 추가 한 후 실행하십시오. 코드에 문제 (원치 않는 코드)가 표시됩니다.
내 경우에는이 줄로 인해 오류가 발생했습니다.
@BindColor (R.color.colorAccent) var mColor : Int? = 0
해결 자
@JvmField @BindColor (android.R.color.white) @ColorInt 내부 var 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;
나는 닫힌 클래스가있을 때이 모호한 오류가 발생한다는 것을 알게되어 놀랐습니다. 공개 클래스로 변경하면 문제가 해결되었습니다.
before:
class DefaultSubscriber<T> : Observer<T> {//...
}
after:
open class DefaultSubscriber<T> : Observer<T> {//...
}
필자의 경우 com.android.tools.build:gradle
마지막 버전으로 업데이트 하고 Gradle의 온라인 모드에서 프로젝트를 다시 빌드하면 문제가 해결되었습니다.
아래 변경 사항이 저에게 효과적이었습니다.
gradle-wrapper.properties에있는 배포 URL을 변경합니다.
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
Androidx를 사용하도록 프로젝트를 변경 했으므로 마이그레이션 도구를 사용했지만 일부 파일 (많은 파일)은 자동으로 변경되지 않았습니다. 각 파일 (활동, 열거 형, 조각)을 열었고 너무 많은 오류를 발견했습니다. 나는 그것들을 수정했지만 컴파일은 여전히 이해할 수없는 오류를 보여줍니다. 해결책을 찾은 후 누군가가 말한이 대답을 발견했습니다.
분석 >> 코드 검사로 이동
전체 프로젝트 :
시간이 좀 걸리고 아래 결과를 보여주었습니다.
중요하다고 생각한 오류를 수정하면서 나머지 오류가 더 이상 빌드에 영향을 미치지 않을 때까지 빌드를 실행했습니다.
내 Android Studio 세부 사항
'Programing' 카테고리의 다른 글
iOS 7에서 완전히 투명한 탐색 표시 줄을 만드는 방법 (0) | 2020.07.05 |
---|---|
빨간색 오류를 표시하는 Android Studio 인라인 컴파일러이지만 gradle을 사용한 컴파일은 정상적으로 작동합니다. (0) | 2020.07.05 |
jQuery로 현재 시간을 얻는 방법 (0) | 2020.07.05 |
ES6 (ECMAScript 6)에서 변경 가능한 변수없이 x 번 반복하는 메커니즘이 있습니까? (0) | 2020.07.05 |
Twig에서 클래스 상수에 액세스하는 방법은 무엇입니까? (0) | 2020.07.05 |