android - 如何修复 DefaultKotlinSourceSetKt 的初始化错误?

标签 android android-studio gradle kotlin apollo

使用项目构建(或简单的 Gradle 同步),我有以下错误:

原因:java.lang.NoClassDefFoundError:无法初始化类 org.jetbrains.kotlin.gradle.plugin.sources.DefaultKotlinSourceSetKt

将 gradle wrapper 版本从 4.10 更改为 6.2.2 后显示此错误(因为 min gradle wrapper 版本需要 5.6.4,但 5.6.4 Apollo 对构建文件夹有错误“访问被拒绝”)

对不起,我的英语很糟糕(

我的 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"
    }
}

最佳答案

有同样的问题,我在 Android Studio -> 工具 -> Kotlin -> 检查更新上更新了 Kotlin 版本。

然后在 上对 Kotlin 版本进行如下更改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"
 }
}

设置 ext.kotlin_version = "1.3.72"和 $kotlin_version

关于android - 如何修复 DefaultKotlinSourceSetKt 的初始化错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60949991/

相关文章:

android - 我如何找到什么?android :attr/listChoiceIndicatorSingle points to?

android - 用于Android的FFMpeg

android - 更新到Android 3.1.3时找不到符号R

java - 该按钮不可见,它将连接 android studio 中的另一个 Activity

android - 将 firebase 依赖项添加到 Android 应用程序时应用脚本 build.gradle 错误

Android Activity 转换 - Window.excludeTarget() 阻止 subview 的转换

android - android中的listview复选框问题

android - android studio 中的多个 Github 帐户

gradle - Geb测试DOM元素存在,然后在下一页加载中删除

java - 使用 Android Studio 3.1 和 gradle 3.1.0 构建项目时出错