You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Debug APK中第三方SDK的Jetpack Compose方法抛出NoSuchMethodError,Android Studio运行正常的原因及解决咨询

Debug APK中第三方SDK的Jetpack Compose方法抛出NoSuchMethodError,Android Studio运行正常的原因及解决咨询

问题描述

我正在使用一个内部依赖Jetpack Compose的第三方SDK,我的应用大部分是基于XML开发的,但会打开SDK提供的一个底层使用Compose的Fragment。

✅ 正常场景:从Android Studio直接运行应用时,一切加载正常,包括SDK的Compose界面
❌ 崩溃场景:通过./gradlew assembleDebug生成Debug APK,手动安装到物理设备后,导航到SDK界面时立即崩溃,报错核心内容:

java.lang.NoSuchMethodError: No static method slideIntoContainer(...) in class androidx.compose.animation.AnimatedContentTransitionScope

完整崩溃栈:

java.lang.NoSuchMethodError: No static method slideIntoContainer-mOhB8PU$default(Landroidx/compose/animation/AnimatedContentTransitionScope;ILandroidx/compose/animation/core/FiniteAnimationSpec;Lkotlin/jvm/functions/Function1;ILjava/lang/Object;)Landroidx/compose/animation/EnterTransition; in class Landroidx/compose/animation/AnimatedContentTransitionScope; or its super classes (declaration of 'androidx.compose.animation.AnimatedContentTransitionScope' appears in /data/app/~~C_3WlAlgwm9YZwORtKZbXw==/com.example.myapp-yTJqM29rwjJU1_yQwSswqA==/base.apk) at com.SDK_CLASS.main.presentation.navigation.NavigationKt$ChatNavHost$4.invoke(Navigation.kt:96) at com.SDK_CLASS.main.presentation.navigation.NavigationKt$ChatNavHost$4.invoke(Navigation.kt:92) at androidx.navigation.compose.NavHostKt$NavHost$finalEnter$1$1.invoke(NavHost.kt:254) at androidx.navigation.compose.NavHostKt$NavHost$finalEnter$1$1.invoke(NavHost.kt:244) at androidx.navigation.compose.NavHostKt$NavHost$12.invoke(NavHost.kt:288) at androidx.navigation.compose.NavHostKt$NavHost$12.invoke(NavHost.kt:273) at androidx.compose.animation.AnimatedContentKt.AnimatedContent(AnimatedContent.kt:809) at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:273) at androidx.navigation.compose.NavHostKt.NavHost(NavHost.kt:128) at com.SDK_CLASS.main.presentation.navigation.NavigationKt.ChatNavHost(Navigation.kt:92) at com.SDK_CLASS.main.presentation.SDK_FRAGMENT$onCreateView$1$1$1$1.invoke(SDKCLASSFRAGMENT.kt:120) at com.SDK_CLASS.main.presentation.SDK_FRAGMENT$onCreateView$1$1$1$1.invoke(SDKCLASSFRAGMENT.kt:119) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:35) at com.SDK_CLASS.main.theme.SdkClassThemeKt$SdkClassTheme$1.invoke(SdkClassTheme.kt:20) at com.SDK_CLASS.main.theme.SdkClassThemeKt$SdkClassTheme$1.invoke(SdkClassTheme.kt:19) 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:380) at com.SDK_CLASS.main.theme.SdkClassThemeKt.SdkClassTheme(SdkClassTheme.kt:16) at com.SDK_CLASS.main.presentation.SDK_FRAGMENT$onCreateView$1$1$1.invoke(SDKCLASSFRAGMENT.kt:117) at com.SDK_CLASS.main.presentation.SDK_FRAGMENT$onCreateView$1$1$1.invoke(SDKCLASSFRAGMENT.kt:116) 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:401) at com.SDK_CLASS.main.presentation.SDK_FRAGMENT$onCreateView$1$1.invoke(SDKCLASSFRAGMENT.kt:116) at com.SDK_CLASS.main.presentation.SDK_FRAGMENT$onCreateView$1$1.invoke(SDKCLASSFRAGMENT.kt:110) at androidx.compose.runtime.internal.ComposableLambdaImpl.invoke(ComposableLambda.jvm.kt:109)

已排查的配置与操作

  • Debug构建变种中minifyEnabled设置为false
  • 项目build.gradle已开启buildFeatures.compose = true
  • Kotlin编译器扩展版本1.5.11(后续尝试过1.5.13)与Compose BOM2024.08.00版本兼容
  • 已显式在应用依赖中添加androidx.compose.animation:animation
  • 已多次执行Clean Project和Rebuild Project操作
  • 我的Compose相关依赖版本:
    compose = [ "runTime", "compose_liveData", "ui", "uiTooling", "uiToolingPreview", "foundation", "foundationLayout", "compose_material", "themeAdapter", "material3", "compose_navigation", "hiltNavigation", "composeAnimation", "composeActivity" ]
    composeCompiler = "1.5.13",
    compose = "1.5.3",
    composeActivity = "1.9.1",
    composeNav = "2.7.7"
    

疑问

为什么这个Compose相关的方法崩溃(NoSuchMethodError)只在使用APK时发生,明明所有Compose库都已包含?要确保第三方SDK的Compose方法在APK中被保留,有没有什么特殊配置需要做?

我的猜测

我怀疑Compose的类或方法在构建过程中被剥离或解析异常,但搞不清原因——尤其是在Debug APK中出现这个问题,实在让人困惑。


内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.08 12:15:28