问题
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