如何解决:错误:任务':app:kaptDebugKotlin'的执行失败?

ayo*_*eji 6 java android kotlin

请帮帮我,我一直盯着同样的错误好几天.我正在运行android studio 2.3(我也在android studio 3.0上遇到过这个问题).

这是我的消息中显示的内容:

错误:任务':app:kaptDebugKotlin'的执行失败.内部编译器错误.有关详细信息,请参阅日志

这是我的日志给我的更多细节:

2017年9月1日21:09:57768 [34977075] INFO - roid.sdk.MessageBuildingSdkLog - 从KotlinOutputParser 2017年9月1日21例外:09:57771 [34977078] INFO - roid.sdk.MessageBuildingSdkLog - com.android.ide ..common.blame.Message(com.android.ide.common.blame.Message $类,java.lang.String中,java.lang.String中,com.google.common.collect.ImmutableList)java.lang.NoSuchMethodException: com.android.ide.common.blame.Message.(com.android.ide.common.blame.Message $ Kind,java.lang.String,java.lang.String,com.google.common.collect.ImmutableList)at java.lang.Class.getConstructor0(Class.java:3082)在java.lang.Class.getConstructor(Class.java:1825)在org.jetbrains.kotlin.android.KotlinOutputParserHelper $ simpleMessageConstructor $ 2.invoke(KotlinOutputParserHelper.kt:171 )org.jetbrains.kotlin.andot.KotlinOutputParserHelper $ simpleMessageConstructor $ 2.invoke(KotlinOutputParserHelper.kt:143)at kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:130)at org.jetbrains.kotlin.android.KotlinOutputParserHelper.getSim pleMessageConstructor(KotlinOutputParserHelper.kt)在org.jetbrains.kotlin.android.KotlinOutputParserHelper.createNewMessage(KotlinOutputParserHelper.kt:272)在org.jetbrains.kotlin.android.KotlinOutputParserHelper.createMessage(KotlinOutputParserHelper.kt:250)在org.jetbrains.kotlin .orroid.KotlinOutputParserHelper.createMessage $ default(KotlinOutputParserHelper.kt:244)org.jetbrains.kotlin.android.KotlinOutputParserHelperKt.parse(KotlinOutputParserHelper.kt:41)org.jetbrains.kotlin.android.KotlinOutputParser.parse(KotlinOutputParser.java) :28)在com.android.ide.common.blame.parser.ToolOutputParser.parseToolOutput(ToolOutputParser.java:86)在com.android.tools.idea.gradle.output.parser.BuildOutputParser.parseGradleOutput(BuildOutputParser.java:43 )在com.android.tools.idea.gradle.project.build.invoker.GradleTasksExecutor $ $ GradleTasksExecutorImpl.lambda collectMessages $ 5(GradleTasksExecutor.java:516)在com.intellij.openapi.application.impl.ApplicationImpl $ 2.run(ApplicationImpl .jav 一:307)在java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)在java.util.concurrent.FutureTask.run(FutureTask.java:266)在java.util.concurrent.ThreadPoolExecutor.runWorker (ThreadPoolExecutor.java:1142)java.lang.Thread.run上的java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)(Thread.java:745)

我的顶级build.gradle:

    // Top-level build file where you can add configuration options common to all sub-projects/modules.

    buildscript {
        ext.kotlin_version = '1.1.4-3'
        repositories {
            google()
            jcenter()
            maven {
                url 'https://www.testfairy.com/maven'
            }
            mavenCentral()
        }
        dependencies {
            classpath 'com.android.tools.build:gradle:2.3.3'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
            classpath 'com.testfairy.plugins.gradle:testfairy:1.+'
            classpath 'me.tatarka:gradle-retrolambda:3.3.0'
            //classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
            // NOTE: Do not place your application dependencies here; they belong
            // in the individual module build.gradle files
        }
    }

    allprojects {
        repositories {
            google()
            jcenter()
            maven { url "https://dl.bintray.com/aurae/maven" }
            maven { url "https://maven.google.com" }
        }
    }

    task clean(type: Delete) {
        delete rootProject.buildDir
    }
Run Code Online (Sandbox Code Playgroud)

我的应用程序级别build.gradle:apply plugin:'com.android.application'apply plugin:'kotlin-android'apply plugin:'kotlin-android-extensions'apply plugin:'kotlin-kapt'

    apply plugin: 'io.fabric'
    apply plugin: 'testfairy'
    apply plugin: 'me.tatarka.retrolambda'

    android {
        compileSdkVersion COMPILE_SDK_VERSION
        buildToolsVersion BUILD_TOOLS_VERSION

        defaultConfig {
            applicationId "com.audiopartnership.edgecontroller"
            minSdkVersion MIN_SDK_VERSION
            targetSdkVersion TARGET_SDK_VERSION
            versionCode 9
            versionName "0.0.12"
            vectorDrawables.useSupportLibrary = true
            multiDexEnabled true
            buildConfigField "String", "BASE_SSID", "\"Setup:\""
            buildConfigField "String", "DEFAULT_UNIT_NAME", "\"CZN\""
            buildConfigField "String", "CAST_URL", "\"http://www.google.com/cast/learn/audio/\""

        }

        testfairyConfig {
            apiKey getMyApiKey("testfairy")
            autoUpdate true
        }

        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }

            beta {
                applicationIdSuffix ".beta"
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
            }

            debug {
                debuggable true
                applicationIdSuffix ".debug"
            }
        }

        compileOptions {
            sourceCompatibility JavaVersion.VERSION_1_8
            targetCompatibility JavaVersion.VERSION_1_8
        }

        dataBinding {
            enabled = true
        }
    }

    androidExtensions {
        experimental = true
    }

    buildscript {
        repositories {
            jcenter()
            maven { url 'https://maven.fabric.io/public' }
        }

        dependencies {
            classpath 'io.fabric.tools:gradle:1.+'
        }
    }




    repositories {
        jcenter()
        maven { url 'https://maven.fabric.io/public' }
    }







    dependencies {
        compile fileTree(dir: 'libs', include: ['*.jar'])
        testCompile 'junit:junit:4.12'
        testCompile 'org.mockito:mockito-core:1.10.19'


        compile project(':smoip-cli')
        compile project(':cable-cli')
        compile project(':maskable-layout')
        compile project(':radio')


        compile "org.jetbrains.kotlin:kotlin-stdlib-jre8:$kotlin_version"
        kapt 'com.android.databinding:compiler:2.3.3'

        compile "com.android.support:appcompat-v7:$SUPPORT_VERSION"
        compile "com.android.support:design:$SUPPORT_VERSION"
        compile "com.android.support:support-v4:$SUPPORT_VERSION"
        compile "com.android.support:percent:$SUPPORT_VERSION"
        compile "com.android.support:palette-v7:$SUPPORT_VERSION"

        compile 'me.relex:circleindicator:1.1.8@aar'
        compile 'uk.co.chrisjenx:calligraphy:2.2.0'
        compile "com.squareup.picasso:picasso:$PICASSO_VERSION"
        compile "io.reactivex:rxandroid:$RXANDROID_VERSION"
        compile 'com.squareup.okhttp3:okhttp:3.2.0'
        compile "com.github.aurae:rxbonjour:0.4.0"
        compile "com.polidea.rxandroidble:rxandroidble:1.3.3"

        compile "com.squareup.retrofit2:retrofit:$RETROFIT_VERSION"
        compile "com.squareup.retrofit2:converter-gson:$RETROFIT_VERSION"
        compile "com.squareup.retrofit2:adapter-rxjava:$RETROFIT_VERSION"

        compile 'com.jakewharton:butterknife:8.5.1'
        annotationProcessor 'com.jakewharton:butterknife-compiler:8.5.1'
        compile 'com.johnpetitto.validator:validator:1.0.2'
        testCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
        debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'
        betaCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
        debugCompile 'com.squareup.leakcanary:leakcanary-android:1.5'
        releaseCompile 'com.squareup.leakcanary:leakcanary-android-no-op:1.5'
        compile('com.crashlytics.sdk.android:crashlytics:2.6.8@aar') {
            transitive = true;
        }

        compile project(path: ':cable-cli')
        compile 'com.android.support.constraint:constraint-layout:1.0.2'
    }


    //return a MY API KEY from a properties file.
    def getMyApiKey(String property) {
        Properties properties = new Properties()
        properties.load(new FileInputStream(".apikeys"))
        return "\"" + properties.getProperty(property) + "\""
    }
Run Code Online (Sandbox Code Playgroud)

小智 1

我知道这是一篇旧文章,但经过一番搜索后,我总是会打开这个问题。因此,我认为分享一种解决此问题的方法是很好的。

首先我认为这是因为我做了一些配置更改。主要改变我使用的实现的一些版本并更新kotlin版本。我所做的其他更改是将 glide 编译器的annotationProcessor 更改为 kapt。

因为错误是

错误:任务“:app:kaptDebugKotlin”执行失败。内部编译器错误。查看日志了解更多详情

我以为这是因为这个变化 - 但事实并非如此。

我所做的主要更改是将我的项目更新到JAVA 13,甚至认为这不会成为问题

因此,为了解决这个问题,我将其改回 Android Studio JDK:

首先转到文件->项目结构... 详细信息请参见图片

接下来,在SDK Location选项卡(左侧)中,将JDK 位置更改为“WhereYourAndroidStudioIsInstalled\Android Studio\jre”,详细信息请参见图片

最后,重建项目,对我来说它有效,错误消失了:

详情请参阅图片