Не удалось выполнить задачу ': app: kaptDebugKotlin'.когда чистая сборка - PullRequest
0 голосов
/ 09 октября 2018

У меня проблема с проектом сборки с помощью cmd.Когда я собираю проект с помощью Android Studio, все в порядке, но когда я очищаю проект, сборка с cmd выдает ошибку

Эта команда:

gradlew assemblyDebug

Эта ошибка:

НЕИСПРАВНОСТЬ: сборка завершилась с исключением.

* Что пошло не так:

Не удалось выполнить задачу ': app: kaptDebugKotlin'.

Внутренняя ошибка компилятора.Подробнее смотрите в журнале

e: java.util.ServiceConfigurationError: javax.annotation.processing.Processor: android.databinding.annotationprocessor.ProcessDataBinding Невозможно получить открытый конструктор без аргументов в java.base /java.util.ServiceLoader.fail (ServiceLoader.java:581) в java.base / java.util.ServiceLoader.getConstructor (ServiceLoader.java:672) в java.base / java.util.ServiceLoader.access $ 1000 (ServiceLoader.java: 390) в java.base / java.util.ServiceLoader*

Gradle моего приложения:

    apply plugin: 'com.android.application'

    apply plugin: 'kotlin-android'

    apply plugin: 'kotlin-android-extensions'

    apply plugin: 'kotlin-kapt'

    android {
        compileSdkVersion 28
        defaultConfig {
            applicationId "com.example.robot.mvvm"
            minSdkVersion 21
            targetSdkVersion 28
            versionCode 1
            versionName "1.0"
            testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
            multiDexEnabled true
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }
        dataBinding {
            enabled = true
        }
        kapt {
            useBuildCache = true
        }
    }

    dependencies {
        def lifecycle_version = "2.0.0"
        def retrofit_version = '2.4.0'
        def okhttp_version = '3.11.0'
        def nav_version = "1.0.0-alpha06"

        implementation fileTree(dir: 'libs', include: ['*.jar'])
        implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
        testImplementation 'junit:junit:4.12'

        //android KTX
        implementation 'androidx.core:core-ktx:1.0.0'
        implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
        implementation 'androidx.appcompat:appcompat:1.0.0'
        implementation 'com.google.android.material:material:1.0.0'
        androidTestImplementation 'androidx.test:runner:1.1.0-alpha4'
        androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.0-alpha4'

        implementation "androidx.lifecycle:lifecycle-extensions:$lifecycle_version"
        implementation "androidx.lifecycle:lifecycle-viewmodel:$lifecycle_version"
        implementation "androidx.lifecycle:lifecycle-livedata:$lifecycle_version"

        //retrofit2
        kapt "com.squareup.retrofit2:retrofit:$retrofit_version"
        kapt "com.squareup.retrofit2:converter-gson:$retrofit_version"
        kapt "com.squareup.retrofit2:adapter-rxjava2:$retrofit_version"

        //okhttp interceptor
        kapt "com.squareup.okhttp3:logging-interceptor:$okhttp_version"

        //Firebase
        implementation 'com.google.firebase:firebase-core:16.0.4'
        implementation 'com.crashlytics.sdk.android:crashlytics:2.9.5'
        implementation 'com.google.firebase:firebase-messaging:17.3.3'

        implementation "android.arch.navigation:navigation-fragment:$nav_version"
        implementation "android.arch.navigation:navigation-ui:$nav_version"

        // optional - Test helpers
        androidTestImplementation "android.arch.navigation:navigation-testing:$nav_version"


        implementation 'androidx.multidex:multidex:2.0.0'
    }

Gradle моего проекта:

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

buildscript {
    ext.kotlin_version = '1.2.71'
    repositories {
        google()
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.2.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath 'com.google.gms:google-services:4.1.0' // google-services plugin

        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

Помогите мне, пожалуйста.спасибо

Ответы [ 2 ]

0 голосов
/ 26 ноября 2018

Хотя принятый ответ не очень информативен, он действительно указал мне верное направление.Мои тесты проходили внутри Android Studio, но не из командной строки, потому что Android Studio использовала связанный JDK на /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home.Я настроил gradlew на использование того же JDK, отредактировав gradle.properties, добавив в него следующую строку:

org.gradle.java.home=/Applications/Android Studio.app/Contents/jre/jdk/Contents/Home

Теперь мои тесты проходят внутри Android Studio и из командной строки.

0 голосов
/ 25 октября 2018

Я нашел решение
использовать Java SE 8

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...