I am trying to build my project but every time I get the following errors:
Error 1
java.lang.NoSuchMethodError: 'kotlin.sequences.Sequence com.google.devtools.ksp.processing.Resolver.getPackagesWithAnnotation(java.lang.String)'
at androidx.room.compiler.processing.ksp.KspRoundEnv.getElementsAnnotatedWith(KspRoundEnv.kt:107)
at androidx.room.compiler.processing.CommonProcessorDelegate.processRound(XBasicAnnotationProcessor.kt:100)
at androidx.room.compiler.processing.ksp.KspBasicAnnotationProcessor.process(KspBasicAnnotationProcessor.kt:62)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis6ドル1ドル.invoke(KotlinSymbolProcessingExtension.kt:291)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension$doAnalysis6ドル1ドル.invoke(KotlinSymbolProcessingExtension.kt:289)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.handleException(KotlinSymbolProcessingExtension.kt:394)
at com.google.devtools.ksp.AbstractKotlinSymbolProcessingExtension.doAnalysis(KotlinSymbolProcessingExtension.kt:289)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration(TopDownAnalyzerFacadeForJVM.kt:123)
at org.jetbrains.kotlin.cli.jvm.compiler.TopDownAnalyzerFacadeForJVM.analyzeFilesWithJavaIntegration$default(TopDownAnalyzerFacadeForJVM.kt:99)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze1ドル.invoke(KotlinToJVMBytecodeCompiler.kt:257)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler$analyze1ドル.invoke(KotlinToJVMBytecodeCompiler.kt:42)
at org.jetbrains.kotlin.cli.common.messages.AnalyzerWithCompilerReport.analyzeAndReport(AnalyzerWithCompilerReport.kt:115)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.analyze(KotlinToJVMBytecodeCompiler.kt:248)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli(KotlinToJVMBytecodeCompiler.kt:88)
at org.jetbrains.kotlin.cli.jvm.compiler.KotlinToJVMBytecodeCompiler.compileModules$cli$default(KotlinToJVMBytecodeCompiler.kt:47)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:167)
at org.jetbrains.kotlin.cli.jvm.K2JVMCompiler.doExecute(K2JVMCompiler.kt:53)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:101)
at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:47)
at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1645)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.base/java.lang.reflect.Method.invoke(Method.java:568)
at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:360)
at java.rmi/sun.rmi.transport.Transport1ドル.run(Transport.java:200)
at java.rmi/sun.rmi.transport.Transport1ドル.run(Transport.java:197)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:712)
at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:587)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:828)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run0ドル(TCPTransport.java:705)
at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:704)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
at java.base/java.lang.Thread.run(Thread.java:833)
Error 2
Execution failed for task ':core:database:kspDebugKotlin'.
> A failure occurred while executing org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction
> Internal compiler error. See log for more details
File Contents
This is my project level build.gradle.kts file:
// Top-level build file where you can add configuration options common to all sub-projects/modules.
plugins {
id("com.android.application") version "8.1.2" apply false
id("org.jetbrains.kotlin.android") version "1.8.10" apply false
id("com.android.library") version "8.1.2" apply false
id("com.google.dagger.hilt.android") version "2.48" apply false
id("com.google.devtools.ksp") version "1.8.10-1.0.9" apply false
}
This is my module level build.gradle.kts file:
plugins {
id("com.android.library")
id("org.jetbrains.kotlin.android")
id("com.google.devtools.ksp")
id("com.google.dagger.hilt.android")
}
android {
namespace = "com.yangian.superclock.core.database"
compileSdk = 34
defaultConfig {
minSdk = 28
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
consumerProguardFiles("consumer-rules.pro")
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
}
dependencies {
implementation("androidx.core:core-ktx:1.12.0")
implementation("androidx.appcompat:appcompat:1.6.1")
implementation("com.google.android.material:material:1.10.0")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.7.3")
implementation("org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3")
// implementation("org.jetbrains.kotlinx:kotlinx-coroutines-guava:1.7.3")
implementation("org.jetbrains.kotlin:kotlin-test:1.9.10")
testImplementation("junit:junit:4.13.2")
androidTestImplementation("org.jetbrains.kotlinx:kotlinx-coroutines-test:1.7.3")
androidTestImplementation("androidx.test.ext:junit:1.1.5")
androidTestImplementation("androidx.test.espresso:espresso-core:3.5.1")
androidTestImplementation("androidx.test:core:1.5.0")
// Room
val roomVersion = "2.6.0"
implementation("androidx.room:room-runtime:$roomVersion")
implementation("androidx.room:room-ktx:$roomVersion")
ksp("androidx.room:room-compiler:$roomVersion")
// Dagger Hilt
val daggerVersion = "2.48"
implementation("com.google.dagger:hilt-android:$daggerVersion")
ksp("com.google.dagger:hilt-android-compiler:$daggerVersion")
}
I am new to Android Development and the gradle errors always scares me. I tried to get help from Bard and Bing but nothing worked. So, you guys are my last resort. Please help me to resolve these errors. Feel free to ask for more information about the project in order to resolve the error.
5 Answers 5
I have a feeling (haven't dug too deep into it yet) that Dagger/Hilt version 2.48 are not compatible with somewhat outdated versions of Kotlin language (which is what you seem to be having, based on the content of your Gradle files).
You might need to bump
org.jetbrains.kotlin.androidto1.9.10;com.google.devtools.kspto1.9.10-1.0.13;
You can keep Dagger/Hilt set to 2.48.1 and Room set to 2.6.0.
I just upgraded Room to 2.6.0 in the project I work on and these are the versions that I ended up having. Works like a charm, the exception that you mentioned is gone.
Upd. Yep, there is actually a discussion of that same issue on Google's issue tracker; the latest versions of Kotlin and KSP are required to use Room 2.6.0.
Comments
update kotlin to 1.9.10
composeOptions {
kotlinCompilerExtensionVersion '1.5.3'
}
plugins {
id 'com.android.library' version '8.1.2' apply false
id 'com.android.application' version '8.1.2' apply false
id 'org.jetbrains.kotlin.android' version '1.9.10' apply false
id("com.google.devtools.ksp") version "1.9.10-1.0.13" apply false
}
Comments
Try to keep the order of plugins as such
Module-level build.gradle.kts
plugins {
id("com.android.application")
id("dagger.hilt.android.plugin")
id("org.jetbrains.kotlin.android")
id("kotlin-parcelize")
id("com.google.gms.google-services")
id("com.google.devtools.ksp")
}
App level build.gradle.kts
plugins {
id("com.android.library") version "8.1.2" apply false
id("com.android.application") version "8.1.2" apply false
id("org.jetbrains.kotlin.android") version "1.8.10" apply false
id("com.google.dagger.hilt.android") version "2.48" apply false
id("com.google.gms.google-services") version "4.3.15" apply false
id("com.google.devtools.ksp") version "1.8.10-1.0.9" apply false
}
I ran into the same issue you're mentioning while updating to hilt 2.48.1, downgrading was the only way I was able to resolve this.
Also as hata pointed out remove the id("com.android.library") from your module-level build.gradle.kts.
1 Comment
Hilt has a bug.
The key issue to solving it is to declare the ksp plugin in the root build.gradle and not apply it.
Full working configuration.
Root build.gradle
plugins {
id("com.android.application") version "8.2.1" apply false
id("org.jetbrains.kotlin.android") version "1.9.10" apply false
id("com.google.dagger.hilt.android") version "2.48.1" apply false
id("com.google.devtools.ksp") version("1.9.10-1.0.13") apply false
}
App module build.gradle
plugins {
id("com.android.application")
id("org.jetbrains.kotlin.android")
id("com.google.devtools.ksp") // <------------- without version
id("com.google.dagger.hilt.android")
}
Comments
If your using KSP v2.0.20-1.0.24 then it depends on kotlin version 2.0.20
2.48in both the plugin as well as the dependency. But the issue still persist. I believe the issue has something to do with theksp.roomto last stable version i.e.2.5.2which solved the issue for me. There seems to be some issue in latest version2.6.0Internal Compiler Error. But after I changed theroomversion to2.5.2, it provided me the logs of actual bug that was there in the file.