Не удалось выполнить задачу ':app:kaptGenerateStubsDebugKotlin' после обновления Android Studio V3.1.1

Я просто обновляю Android Studio до V3.1.1. Тогда моя программа пошла не так. При сборке программы возникают две ошибки. введите описание изображения здесь

  1. Один в "Выполнить сборку"

org.gradle.api.tasks.TaskExecutionException: выполнение не выполнено для задачи ':app:kaptGenerateStubsDebugKotlin' введите описание изображения здесь

  1. Еще один в Java компилятор

java.lang.ClassNotFoundException: org.jetbrains.kotlin.resolve.checkers.SimpleDeclarationChecker введите описание изображения здесь

вот мой gradle

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'
apply plugin: 'kotlin-kapt'

apply plugin: 'kotlin-android-extensions'




android {
    compileSdkVersion 26


    defaultConfig {
        applicationId "com.restress.saniauto"
        minSdkVersion 21
        targetSdkVersion 26
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }
    buildToolsVersion '27.0.3'
}


androidExtensions {
    experimental = true
}


buildscript {
    ext.kotlin_version = '1.2.21'
    repositories {
        maven { url 'https://maven.fabric.io/public' }
        mavenCentral()
    }
    dependencies {
        // The Fabric Gradle plugin uses an open ended version to react
        // quickly to Android tooling updates
        classpath 'io.fabric.tools:gradle:1.22.1'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
    }
}
allprojects {
    repositories {
        jcenter()
    }
}

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version"
    implementation 'com.android.support:appcompat-v7:26.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
    //RxJava
    implementation 'io.reactivex.rxjava2:rxandroid:2.0.1'
    implementation 'io.reactivex.rxjava2:rxjava:2.1.8'
    implementation 'io.reactivex:rxkotlin:0.55.0'
    //Room & RxAndroid2
    implementation "android.arch.persistence.room:runtime:$room_version"
    implementation "android.arch.persistence.room:rxjava2:$room_version"
    kapt "android.arch.persistence.room:compiler:$room_version"
    kapt "android.arch.persistence.room:compiler:$room_version"
    androidTestImplementation('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    testImplementation "android.arch.persistence.room:testing:$room_version"
    //Design
    implementation 'com.android.support:design:26.1.0'
    implementation 'com.android.support:percent:26.1.0'

}

5 ответов

Решение

Ну, я наконец-то с этим справился. Когда я использую --stacktraceЯ нахожу :app:kaptDebugKotlin процедура создания программы для Android --stacktrace результат картина

И я получаю ошибку java.lang.ClassNotFoundException: org.jetbrains.kotlin.resolve.checkers.SimpleDeclarationChecker в этом :app:kaptDebugKotlin процедура.

Я сомневаюсь, что в реализации kotlin есть что-то новое, поэтому я обновляю свой kotlin_version с 1.2.21 до 1.2.30.

Тогда я получаю более четкие ошибки. room ошибки параметров. ошибка в номере

Так что я меняю arg0 к parameter name in Dao functions в запросе SQL.

Наконец-то это работает.

Для людей, пытающихся использовать Jetpack Compose , сталкивающихся с этой ошибкой.

Для меня мне не хваталоcomposeOptions{...}block, поэтому я добавил его, как показано ниже, и теперь ошибка устранена.

      buildFeatures {
    compose = true
    viewBinding = true
}

composeOptions {
    kotlinCompilerExtensionVersion = "1.0.1"
    kotlinCompilerVersion = "1.5.21" // Make sure this version is same as your Kotlin version
}

В моем случае я понизил версию плагина Kotlin с 1.8.20 до 1.7.20 в build.gradle в корневом проекте, как показано ниже:

      plugins {
    id 'com.android.application' version '8.0.2' apply false
    id 'com.android.library' version '8.0.2' apply false
    id 'org.jetbrains.kotlin.android' version '1.7.20' apply false
}

Я работал над тестовым проектом. Использование кинжала с Kotlin, и эта задача провалилась, была блокирующая.

Я пробовал много способов, но сообщение об ошибке не имело смысла, уже на следующий день я начал копировать классы в новый проект и обнаружил, что проблема связана с кинжалом, а также преобразовал аннотацию Моши @JsonClass(generateAdapter = true) Ява класс в Котлин.

MoviesViewModel @Inject constructor(private val movieService: MovieService): ViewModel()

затем:)

У меня была такая же ошибка, и я решил обновить kotlin до последней версии (1.5.31) в моем проекте build.gradle:

      buildscript {
    dependencies {
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:1.5.31"
    }
}
Другие вопросы по тегам