Liberty Tom
04/11/2025, 5:55 AMAndroidLib
, the AndroidLib
project use gradle 8.7, agp 8.3, kotlin 1.9.24. It had two lib module a
and b
. The a
lib module dependenced Jetpack Compose, the composeBom version is 2024.08.00. The b
lib module dependenced a
like this: api(a)
, and it implemented a Jetpack Compose page. Then i published the a
and b
lib to my private maven remote repository.
Then i created a android project, the android project use gradle 8.7, agp 8.3, kotlin 1.9.24. It dependenced the a
lib and b
lib. When i run the android project, i will open the b
lib's Jetpack Compose page, but it occured the error like below:
java.lang.NoSuchMethodError: No static method rememberComposableLambda
So how to fix it?Thomas Hormes
04/11/2025, 6:39 AMStylianos Gakis
04/11/2025, 6:51 AMChrimaeon
04/11/2025, 7:01 AMLiberty Tom
04/11/2025, 7:38 AMa
and b
lib module's key gradle
config like below:
android {
compileSdk = 34
defaultConfig {
minSdk = 21
version = "1.0.0"
consumerProguardFiles("<http://consumer-rules.pro|consumer-rules.pro>")
}
buildTypes {
release {
isMinifyEnabled = false
proguardFiles(getDefaultProguardFile("proguard-android-optimize.txt"), "<http://proguard-rules.pro|proguard-rules.pro>")
}
}
publishing {
singleVariant("release") {
withSourcesJar()
withJavadocJar()
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
buildFeatures {
compose = true
}
composeOptions {
kotlinCompilerExtensionVersion = "1.5.14"
}
packaging {
resources {
excludes += "/META-INF/{AL2.0,LGPL2.1}"
}
}
}
Stylianos Gakis
04/11/2025, 8:23 AMLiberty Tom
04/11/2025, 9:11 AMProcess: com.example.demo2, PID: 6778
java.lang.NoSuchMethodError: No static method rememberComposableLambda(IZLjava/lang/Object;Landroidx/compose/runtime/Composer;I)Landroidx/compose/runtime/internal/ComposableLambda; in class Landroidx/compose/runtime/internal/ComposableLambdaKt; or its super classes (declaration of 'androidx.compose.runtime.internal.ComposableLambdaKt' appears in /data/app/~~Ri7xosVZ6ufBSkK7omydlw==/com.example.demo2-opiYr7AKT_qiXDWM96x19A==/base.apk)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.ui.platform.ComposeView.Content(ComposeView.android.kt:428)
at androidx.compose.ui.platform.AbstractComposeView$ensureCompositionCreated$1.invoke(ComposeView.android.kt:252)
at androidx.compose.ui.platform.AbstractComposeView$ensureCompositionCreated$1.invoke(ComposeView.android.kt:251)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
at androidx.compose.ui.platform.CompositionLocalsKt.ProvideCommonCompositionLocals(CompositionLocals.kt:186)
at androidx.compose.ui.platform.AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$3.invoke(AndroidCompositionLocals.android.kt:119)
at androidx.compose.ui.platform.AndroidCompositionLocals_androidKt$ProvideAndroidCompositionLocals$3.invoke(AndroidCompositionLocals.android.kt:118)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:228)
at androidx.compose.ui.platform.AndroidCompositionLocals_androidKt.ProvideAndroidCompositionLocals(AndroidCompositionLocals.android.kt:110)
at androidx.compose.ui.platform.WrappedComposition$setContent$1$1$2.invoke(Wrapper.android.kt:139)
at androidx.compose.ui.platform.WrappedComposition$setContent$1$1$2.invoke(Wrapper.android.kt:138)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.runtime.CompositionLocalKt.CompositionLocalProvider(CompositionLocal.kt:248)
at androidx.compose.ui.platform.WrappedComposition$setContent$1$1.invoke(Wrapper.android.kt:138)
at androidx.compose.ui.platform.WrappedComposition$setContent$1$1.invoke(Wrapper.android.kt:123)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)
at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35)
at androidx.compose.runtime.ActualJvm_jvmKt.invokeComposable(ActualJvm.jvm.kt:90)
at androidx.compose.runtime.ComposerImpl.doCompose(Composer.kt:3302)
at androidx.compose.runtime.ComposerImpl.composeContent$runtime_release(Composer.kt:3235)
at androidx.compose.runtime.CompositionImpl.composeContent(Composition.kt:725)
at androidx.compose.runtime.Recomposer.composeInitial$runtime_release(Recomposer.kt:1071)
at androidx.compose.runtime.CompositionImpl.composeInitial(Composition.kt:633)
at androidx.compose.runtime.CompositionImpl.setContent(Composition.kt:619)
at androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.android.kt:123)
at androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.android.kt:114)
at androidx.compose.ui.platform.AndroidComposeView.setOnViewTreeOwnersAvailable(AndroidComposeView.android.kt:1289) (Ask Gemini)
at androidx.compose.ui.platform.WrappedComposition.setContent(Wrapper.android.kt:114)
at androidx.compose.ui.platform.WrappedComposition.onStateChanged(Wrapper.android.kt:164)
at androidx.lifecycle.LifecycleRegistry$ObserverWithState.dispatchEvent(LifecycleRegistry.kt:314)
at androidx.lifecycle.LifecycleRegistry.addObserver(LifecycleRegistry.kt:192)
at androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.android.kt:121)
at androidx.compose.ui.platform.WrappedComposition$setContent$1.invoke(Wrapper.android.kt:114)
at androidx.compose.ui.platform.AndroidComposeView.onAttachedToWindow(AndroidComposeView.android.kt:1364)
at android.view.View.dispatchAttachedToWindow(View.java:22340)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3544)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3551)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3551)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3551)
at android.view.ViewGroup.dispatchAttachedToWindow(ViewGroup.java:3551)
at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:3572)
at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:2989)
at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:10304)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1594)
at android.view.Choreographer$CallbackRecord.run(Choreographer.java:1603)
at android.view.Choreographer.doCallbacks(Choreographer.java:1125)
at android.view.Choreographer.doFrame(Choreographer.java:1030)
at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:1567)
at android.os.Handler.handleCallback(Handler.java:958)
at android.os.Handler.dispatchMessage(Handler.java:99)
at android.os.Looper.loopOnce(Looper.java:224)
at android.os.Looper.loop(Looper.java:318)
at android.app.ActivityThread.main(ActivityThread.java:8790)
at java.lang.reflect.Method.invoke(Native Method)
at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:561)
at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1013)