任务执行失败':app:kaptGenerateStubsDebugKotlin' android studio V3.1.1更新后

时间:2018-04-14 12:28:32

标签: android android-update-sdk

我只是将android studio更新为V3.1.1。然后我的程序出错了。 构建程序时,有两个错误。 enter image description here

  1. 进入'运行构建'
  2. org.gradle.api.tasks.TaskExecutionException:任务':app:kaptGenerateStubsDebugKotlin'执行失败 enter image description here

    1. Java编译器中的另一个
    2. java.lang.ClassNotFoundException:org.jetbrains.kotlin.resolve.checkers.SimpleDeclarationChecker enter image description here

      这是我的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'
      
      }
      

2 个答案:

答案 0 :(得分:2)

好吧,我终于克服了这一点。 当我使用--stacktrace时,我发现:app:kaptDebugKotlin是构建android程序的过程。 --stacktrace result picture

我在此java.lang.ClassNotFoundException: org.jetbrains.kotlin.resolve.checkers.SimpleDeclarationChecker程序中收到错误:app:kaptDebugKotlin

我怀疑kotlin实现中有什么新东西,所以我将我的kotlin_version从1.2.21更新为1.2.30。

然后我得到更明确的错误。这是room参数错误。 room error

所以我在SQL查询中将arg0更改为parameter name in Dao functions

最后它有效。

答案 1 :(得分:0)

我正在测试项目。将匕首与Kotlin一起使用,此任务失败是一个阻碍。

我尝试了很多方法,但是错误消息没有意义,第二天,我开始将类复制到新项目中,发现问题是由于匕首引起的,并且还将Moshi注释getopts Java类转换为Kotlin。

@JsonClass(generateAdapter = true)

然后:)