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

时间:2017-09-01 20:33:09

标签: java android kotlin

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

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

  

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

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

  

2017-09-01 21:09:55,668 [34977075] INFO - roid.sdk.MessageBuildingSdkLog - 来自KotlinOutputParser的例外情况   2017-09-01 21:09:57,571 [34977078] INFO - roid.sdk.MessageBuildingSdkLog - com.android.ide.common.blame.Message。(com.android.ide.common.blame.Message $ Kind,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)       在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.android.KotlinOutputParserHelper $ simpleMessageConstructor $ 2.invoke(KotlinOutputParserHelper.kt:143)       在kotlin.SynchronizedLazyImpl.getValue(Lazy.kt:130)       在org.jetbrains.kotlin.android.KotlinOutputParserHelper.getSimpleMessageConstructor(KotlinOutputParserHelper.kt)       在org.jetbrains.kotlin.android.KotlinOutputParserHelper.createNewMessage(KotlinOutputParserHelper.kt:272)       在org.jetbrains.kotlin.android.KotlinOutputParserHelper.createMessage(KotlinOutputParserHelper.kt:250)       在org.jetbrains.kotlin.android.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.java:307)       at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:511)       at java.util.concurrent.FutureTask.run(FutureTask.java:266)       在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)       at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:617)       在java.lang.Thread.run(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
    }

我的app level build.gradle:         apply plugin:' com.android.application'         申请插件:' kotlin-android'         apply plugin:' kotlin-android-extensions'         申请插件:' 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) + "\""
    }

1 个答案:

答案 0 :(得分:0)

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

首先,我认为这是因为我对配置进行了一些更改。主要更改我使用的实现的某些版本并更新kotlin版本。 我所做的其他更改是将glide编译器的注解处理器更改为kapt。

因为错误是

错误:任务':app:kaptDebugKotlin'的执行失败。内部编译器错误。请参阅日志以获取更多详细信息

我以为是因为此更改-并非如此。

我所做的甚至没​​有想到可能会导致问题的主要更改是将项目更新为JAVA 13

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

首先转到文件-> 项目结构... See image for details

接下来,在 SDK位置标签(位于左侧)中,将 JDK位置更改为“ WhereYourAndroidStudioIsInstalled \ Android Studio \ jre” See image for details

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

See image for details