How to fix initialization error for DefaultKotlinSourceSetKt?

谁都会走 提交于 2021-01-27 05:36:28

问题


With project build (or simple Gradle sync), I have the following error:

Caused by: java.lang.NoClassDefFoundError: Could not initialize class org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSetKt

This error shows after change gradle wrapper version from 4.10 to 6.2.2 (because min gradle wrapper version required 5.6.4, but with 5.6.4 Apollo has error "Access denied" for build folder)

Sorry for mistakes, my English is very bad(

My build.gradle:

apply plugin: 'com.android.application'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

apply plugin: 'com.apollographql.android'

apply plugin: 'io.fabric'

apply plugin: 'com.google.gms.google-services'
apply plugin: 'org.jetbrains.dokka'
repositories {
    mavenCentral()
    maven { url 'https://maven.fabric.io/public' }
}

android {
    compileSdkVersion project.ext.compileSdkVersion

    defaultConfig {
        applicationId project.ext.applicationId
        minSdkVersion project.ext.minSdkVersion
        targetSdkVersion project.ext.targetSdkVersion
        versionCode project.ext.releaseVersionCode
        versionName project.ext.releaseVersion
        setProperty("archivesBaseName", "teleportage-$versionName")
        multiDexEnabled true
    }
    dokka {
        outputFormat = 'html'
        outputDirectory = "$buildDir/dokka"

        configuration {
            moduleName = 'data'
            reportUndocumented = true
            includeNonPublic = false
            skipDeprecated = true
            reportUndocumented = false
            skipEmptyPackages = true
            cacheRoot = 'default'
            noStdlibLink = true
            platform = "JVM"
            classpath = [new File("$buildDir/other.jar")]
            sourceRoot {
                path = "src"
            }
            jdkVersion = 6

            perPackageOption {
                prefix = "android"
                suppress = true
            }
            perPackageOption {
                prefix = "androidx"
                suppress = true
            }
            perPackageOption {
                prefix = "com"
                suppress = true
            }
            perPackageOption {
                prefix = "io"
                suppress = true
            }
            perPackageOption {
                prefix = "jp"
                suppress = true
            }
            perPackageOption {
                prefix = "net"
                suppress = true
            }
            perPackageOption {
                prefix = "wseemann"
                suppress = true
            }
            perPackageOption {
                prefix = "app.teleportage.android.main.network.auth"
                suppress = true
            }
            perPackageOption {
                prefix = "app.teleportage.android.main.network.main"
                suppress = true
            }
            perPackageOption {
                prefix = "app.teleportage.android.main.network.chat"
                suppress = true
            }
            perPackageOption {
                prefix = "app.teleportage.android.main.network.messages"
                suppress = true
            }
        }
    }

    dexOptions {
        javaMaxHeapSize "4g"
    }

    lintOptions {
        disable 'MissingTranslation'
    }

    signingConfigs {
        unsigned {
            storePassword = ""
            keyAlias = ""
            keyPassword = ""
        }

        release {
            storeFile file("../kkk-temp-keystore")
            storePassword "000000"
            keyAlias "key0"
            keyPassword "000000"
        }
    }

    buildTypes {
        debug {
            debuggable true
            minifyEnabled false
            ext.enableCrashlytics = false
        }
        release {
            debuggable false
            minifyEnabled false
            signingConfig signingConfigs.release
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    kotlinOptions {
        jvmTarget = "1.8"
    }

    packagingOptions {
        exclude 'META-INF/proguard/androidx-annotations.pro'
    }

    flavorDimensions "url"

    productFlavors {
        staging {
            buildConfigField "String", "SERVER_URL_MAIN", "\"http://main.api.test.app\""
            buildConfigField "String", "SERVER_URL_MAIN_WS", "\"ws://main.api.test.app\""
            buildConfigField "String", "SERVER_URL_MAIN_WS_PATH", "\"/subscriptions\""
            buildConfigField "String", "SERVER_URL_AUTH", "\"http://auth.api.test.app\""
            buildConfigField "String", "SERVER_URL_FILE", "\"http://files.api.test.app\""
            buildConfigField "String", "SERVER_URL_MESS", "\"http://messages.api.test.app\""
            buildConfigField "String", "SERVER_URL_MESS_WS", "\"ws://messages.api.test.app\""
            buildConfigField "String", "SERVER_URL_MESS_WS_PATH", "\"/subscriptions\""
            buildConfigField "String", "SERVER_URL_CHAT", "\"http://chat.api.test.app\""
            buildConfigField "String", "SERVER_URL_CHAT_WS", "\"ws://chat.api.test.app\""
            buildConfigField "String", "SERVER_URL_CHAT_WS_PATH", "\"/subscriptions\""
            buildConfigField "String", "PAYMENT_AUTHORIZATION_KEY", "\"=\""
            dimension "url"
        }
        develop {
//            buildConfigField "String", "SERVER_URL_MAIN", "\"http://255.90.227.154:8090\""
//            buildConfigField "String", "SERVER_URL_MAIN_WS", "\"ws://255.90.227.154:8090\""
//            buildConfigField "String", "SERVER_URL_MAIN_WS_PATH", "\"/subscriptions\""
//            buildConfigField "String", "SERVER_URL_AUTH", "\"http://255.90.227.154:8091\""
//            buildConfigField "String", "SERVER_URL_FILE", "\"http://255.90.227.154:8092\""
//            buildConfigField "String", "SERVER_URL_MESS", "\"http://255.90.227.154:8093\""
//            buildConfigField "String", "SERVER_URL_MESS_WS", "\"ws://255.90.227.154:8093\""
//            buildConfigField "String", "SERVER_URL_MESS_WS_PATH", "\"/subscriptions\""
//            buildConfigField "String", "SERVER_URL_CHAT", "\"http://255.90.227.154:8094\""
//            buildConfigField "String", "SERVER_URL_CHAT_WS", "\"ws://255.90.227.154:8094\""
//            buildConfigField "String", "SERVER_URL_CHAT_WS_PATH", "\"/subscriptions\""
            buildConfigField "String", "SERVER_URL_MAIN", "\"http://main.api.dev.app\""
            buildConfigField "String", "SERVER_URL_MAIN_WS", "\"ws://main.api.dev.app\""
            buildConfigField "String", "SERVER_URL_MAIN_WS_PATH", "\"/subscriptions\""
            buildConfigField "String", "SERVER_URL_AUTH", "\"http://auth.api.dev.app\""
            buildConfigField "String", "SERVER_URL_FILE", "\"http://files.api.devapp\""
            buildConfigField "String", "SERVER_URL_MESS", "\"http://messages.api.dev.app\""
            buildConfigField "String", "SERVER_URL_MESS_WS", "\"ws://messages.api.devapp\""
            buildConfigField "String", "SERVER_URL_MESS_WS_PATH", "\"/subscriptions\""
            buildConfigField "String", "SERVER_URL_CHAT", "\"http://chat.api.dev.app\""
            buildConfigField "String", "SERVER_URL_CHAT_WS", "\"ws://chat.api.devapp\""
            buildConfigField "String", "SERVER_URL_CHAT_WS_PATH", "\"/subscriptions\""
            buildConfigField "String", "PAYMENT_AUTHORIZATION_KEY", "\"=\""
            dimension "url"
        }
        production {
            buildConfigField "String", "SERVER_URL_MAIN", "\"http://255.90.251.162:8090\""
            buildConfigField "String", "SERVER_URL_MAIN_WS", "\"ws://255.90.251.162:8090\""
            buildConfigField "String", "SERVER_URL_MAIN_WS_PATH", "\"/subscriptions\""
            buildConfigField "String", "SERVER_URL_AUTH", "\"http://255.90.251.162:8091\""
            buildConfigField "String", "SERVER_URL_FILE", "\"http://255.90.251.162:8092\""
            buildConfigField "String", "SERVER_URL_MESS", "\"http://255.90.251.162:8093\""
            buildConfigField "String", "SERVER_URL_MESS_WS", "\"ws://255.90.251.162:8093\""
            buildConfigField "String", "SERVER_URL_MESS_WS_PATH", "\"/subscriptions\""
            buildConfigField "String", "SERVER_URL_CHAT", "\"http://255.90.251.162:8094\""
            buildConfigField "String", "SERVER_URL_CHAT_WS", "\"ws://255.90.251.162:8094\""
            buildConfigField "String", "SERVER_URL_CHAT_WS_PATH", "\"/subscriptions\""
            buildConfigField "String", "PAYMENT_AUTHORIZATION_KEY", "\"=\""
            dimension "url"
        }
    }
}

dependencies {
    compileOnly 'org.glassfish:javax.annotation:10.0-b28'
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-core:1.1.1'
    api 'com.android.support:multidex:1.0.3'
    api 'com.android.support:appcompat-v7:28.0.0'
    api 'com.android.support.constraint:constraint-layout:1.1.3'
    api 'com.android.support:support-v4:28.0.0'
    api 'com.android.support:design:28.0.0'

    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.2'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.2'
    implementation 'com.apollographql.apollo:apollo-runtime:1.4.3'
    implementation 'com.apollographql.apollo:apollo-rx2-support:1.4.3'
    implementation 'com.squareup.okhttp3:okhttp:4.0.1'
    implementation 'com.squareup.okhttp3:logging-interceptor:4.0.1'
    implementation 'com.google.code.gson:gson:2.8.2'
    implementation 'com.github.bumptech.glide:glide:4.8.0'
    implementation 'jp.wasabeef:glide-transformations:4.0.1'
//    implementation 'com.github.shts:StoriesProgressView:3.0.0'
    implementation 'com.google.android.exoplayer:exoplayer:2.9.6'
    implementation 'com.braintreepayments:card-form:3.5.1'
    implementation 'com.braintreepayments.api:drop-in:3.7.1'
    implementation 'com.github.horson:rtmp-rtsp-stream-client-java:ffbe4e2dea'
    api 'androidx.lifecycle:lifecycle-common:2.1.0-alpha01'
    api 'androidx.exifinterface:exifinterface:1.0.0'
    implementation 'com.otaliastudios:cameraview:2.0.0-beta02'
    implementation 'com.crashlytics.sdk.android:crashlytics:2.9.8'
    api 'com.github.bosphere.android-fadingedgelayout:fadingedgelayout:1.0.0'

    implementation 'com.google.maps:google-maps-services:0.2.4'
    implementation 'com.google.android.gms:play-services-maps:16.1.0'
    implementation 'com.google.android.gms:play-services-location:16.0.0'
//    debugImplementation 'com.squareup.leakcanary:leakcanary-android:1.6.2'


    //FFmpegMediaMetadataRetriever
    def ffmpegRetrieverVersion = '1.0.14'
    implementation "com.github.wseemann:FFmpegMediaMetadataRetriever:$ffmpegRetrieverVersion"
//    implementation "com.github.wseemann:FFmpegMediaMetadataRetriever-armeabi:$ffmpegRetrieverVersion"
//    implementation "com.github.wseemann:FFmpegMediaMetadataRetriever-armeabi-v7a:$ffmpegRetrieverVersion"
//    implementation "com.github.wseemann:FFmpegMediaMetadataRetriever-x86:$ffmpegRetrieverVersion"
//    implementation "com.github.wseemann:FFmpegMediaMetadataRetriever-mips:$ffmpegRetrieverVersion"
//    implementation "com.github.wseemann:FFmpegMediaMetadataRetriever-x86_64:$ffmpegRetrieverVersion"
//    implementation "com.github.wseemann:FFmpegMediaMetadataRetriever-arm64-v8a:$ffmpegRetrieverVersion"

    implementation 'com.tbruyelle.rxpermissions2:rxpermissions:0.9.4@aar'

    implementation 'com.google.firebase:firebase-core:16.0.1'
    implementation 'com.google.firebase:firebase-messaging:17.3.4'
    implementation 'com.google.firebase:firebase-analytics:16.0.1'
    implementation 'com.google.firebase:firebase-dynamic-links:17.0.0'
    implementation 'com.jakewharton.threetenabp:threetenabp:1.2.1'
}

kotlin {
    experimental {
        coroutines "enable"
    }
}

回答1:


Had the same Issue, I have update the Kotlin version on Android Studio -> Tools -> Kotlin -> Check For Update.

Then make changes on Kotlin Version as below on build.gradle

buildscript {
ext.kotlin_version = "1.3.72"
repositories {
    google()
    jcenter()

}
dependencies {
    classpath 'com.android.tools.build:gradle:4.0.0'
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
 }
}

set the ext.kotlin_version = "1.3.72" and $kotlin_version




回答2:


Had the same issue. Upgrade Kotlin and Gradle plugin to recent versions - in my case Kotlin 1.3.71 and com.android.tools.build:gradle:3.6.2 - then it works.

Issue was that Kotlin 1.3.10 used the DefaultSourceDirectorySet constructor via reflection which has been removed in Gradle 6: https://discuss.gradle.org/t/the-defaultsourcedirectoryset-constructor-has-been-deprecated/29610



来源:https://stackoverflow.com/questions/60949991/how-to-fix-initialization-error-for-defaultkotlinsourcesetkt

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!