程序问答   发布时间:2022-06-01  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了java.lang.NoSuchFieldError: 没有 Landroidx/compose/foundation/layout/BoxScope$Companion 类型的字段 Companion;大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

如何解决java.lang.NoSuchFieldError: 没有 Landroidx/compose/foundation/layout/BoxScope$Companion 类型的字段 Companion;?

开发过程中遇到java.lang.NoSuchFieldError: 没有 Landroidx/compose/foundation/layout/BoxScope$Companion 类型的字段 Companion;的问题如何解决?下面主要结合日常开发的经验,给出你关于java.lang.NoSuchFieldError: 没有 Landroidx/compose/foundation/layout/BoxScope$Companion 类型的字段 Companion;的解决方法建议,希望对你解决java.lang.NoSuchFieldError: 没有 Landroidx/compose/foundation/layout/BoxScope$Companion 类型的字段 Companion;有所启发或帮助;

我是第一次使用 jetpack Compose,但出现此错误。我还没有弄清楚问题到底出在哪里,但我使用的是单一活动架构。如果需要更多信息,请通知我。 根据错误,问题似乎来自 Scaffold。

                val scaffoldState = rememberScaffoldState()

                Scaffold(
                    scaffoldState = scaffoldState,snackbarHost = {
                        SnackbarHost(hostState = it)
                    }
                ) {
java.lang.NoSuchFIEldError: No fIEld Companion of type LandroIDx/compose/foundation/layout/BoxScope$Companion; in class LandroIDx/compose/foundation/layout/BoxScope; or its superclasses (declaration of 'androIDx.compose.foundation.layout.boxScope' appears in /data/app/com.octagon_technologIEs.scafe-0B8-dDpbnRqa6fydxFPekw==/base.apk)
        at androIDx.compose.material.SurfaceKt$Surface$1.invoke(Surface.kt:149)
        at androIDx.compose.material.SurfaceKt$Surface$1.invoke(Surface.kt:105)
        at androIDx.compose.runtime.internal.ComposableLambdaimpl.invoke(ComposableLambda.jvm.kt:109)
        at androIDx.compose.runtime.internal.ComposableLambdaimpl.invoke(ComposableLambda.jvm.kt:34)
        at androIDx.compose.runtime.CompositionLocalKt.CompositionLocalProvIDer(CompositionLocal.kt:193)
        at androIDx.compose.material.SurfaceKt.Surface-F-jzlyU(Surface.kt:102)
        at androIDx.compose.material.ScaffoldKt$Scaffold$child$1.invoke(Scaffold.kt:168)
        at androIDx.compose.material.ScaffoldKt$Scaffold$child$1.invoke(Scaffold.kt:167)
        at androIDx.compose.runtime.internal.ComposableLambdaimpl.invoke(ComposableLambda.jvm.kt:118)
        at androIDx.compose.runtime.internal.ComposableLambdaimpl.invoke(ComposableLambda.jvm.kt:34)
        at androIDx.compose.material.ScaffoldKt.Scaffold-J67Y1T8(Scaffold.kt:197)
        at com.octagon_technologIEs.scafe.presentation.MainActivity$onCreate$1$1.invoke(MainActivity.kt:54)
        at com.octagon_technologIEs.scafe.presentation.MainActivity$onCreate$1$1.invoke(MainActivity.kt:47)
        at androIDx.compose.runtime.internal.ComposableLambdaimpl.invoke(ComposableLambda.jvm.kt:109)
        at androIDx.compose.runtime.internal.ComposableLambdaimpl.invoke(ComposableLambda.jvm.kt:34)
        at androIDx.compose.runtime.CompositionLocalKt.CompositionLocalProvIDer(CompositionLocal.kt:193)
        at androIDx.compose.material.TextKt.ProvIDeTextStyle(Text.kt:246)
        at androIDx.compose.material.MaterialthemeKt$Materialtheme$1.invoke(Materialtheme.kt:78)
        at androIDx.compose.material.MaterialthemeKt$Materialtheme$1.invoke(Materialtheme.kt:77)
        at androIDx.compose.runtime.internal.ComposableLambdaimpl.invoke(ComposableLambda.jvm.kt:109)
        at androIDx.compose.runtime.internal.ComposableLambdaimpl.invoke(ComposableLambda.jvm.kt:34)
        at androIDx.compose.runtime.CompositionLocalKt.CompositionLocalProvIDer(CompositionLocal.kt:193)
        at androIDx.compose.material.MaterialthemeKt.Materialtheme(Materialtheme.kt:69)
        at com.octagon_technologIEs.scafe.presentation.ui.theme.themeKt.Scafetheme(theme.kt:46)
        at com.octagon_technologIEs.scafe.presentation.MainActivity$onCreate$1.invoke(MainActivity.kt:47)
        at com.octagon_technologIEs.scafe.presentation.MainActivity$onCreate$1.invoke(MainActivity.kt:46)
        at androIDx.compose.runtime.internal.ComposableLambdaimpl.invoke(ComposableLambda.jvm.kt:109)
        at androIDx.compose.runtime.internal.ComposableLambdaimpl.invoke(ComposableLambda.jvm.kt:34)
        at androIDx.compose.ui.platform.ComposeVIEw.Content(ComposeVIEw.androID.kt:346)
        at androIDx.compose.ui.platform.AbstractComposeVIEw$ensureCompositionCreated$1.invoke(ComposeVIEw.androID.kt:202)
        at androIDx.compose.ui.platform.AbstractComposeVIEw$ensureCompositionCreated$1.invoke(ComposeVIEw.androID.kt:201)
        at androIDx.compose.runtime.internal.ComposableLambdaimpl.invoke(ComposableLambda.jvm.kt:109)

解决方法

我遇到了同样的错误并通过更新撰写版本解决了它。 Android studio 生成的新项目模板带有 compose 版本 1.0.0-beta01

打开 build.gradle 文件并更新

compose_version = '1.0.0-beta05'

或更新,如果您愿意。

,

androidx.navigation:navigation-compose:1.0.0-alpha10 添加为依赖项后出现此错误。

对我有用的是降级到 androidx.navigation:navigation-compose:1.0.0-alpha09

,

此代码出现相同错误

java.lang.NoSuchFieldError: 
No static field Companion of type Landroidx/compose/foundation/layout/BoxScope$Companion; 
in class Landroidx/compose/foundation/layout/BoxScope; 
or its superclasses (declaration of 'androidx.compose.foundation.layout.boxScope' 
appears in /data/app/ink.iamt.demo-l1DoSMoQUFGcF5KYI5RU0w==/base.apk)
class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceStatE)
        setContent {
            Card {
                Text("Hello,Compose")
            }
        }
    }
}

你知道我的代码再简单不过了。所以我认为这不应该是我的错。 我检查了我的 Android studio 版本,它是 2020.3.1 Canary 14,这是最新版本。并检查了 jetpack compose 的 build.gradle,它是

    val compose_version by extra("1.0.0-beta01")

所以最新的Android studio 创建了@R_944_10062@Compose 项目,compose 版本是1.0.0-beta01,而最新的compose 版本是1.0.0-beta04。然后我尝试将版本更新为 beta04 并重新运行我的应用程序。然后它起作用了!

所以请尝试将您的撰写版本更新到最新版本,看看您是否有运气。

,

此答案基于帮助我修复错误的 CommonsWare 评论。

解决方案是使用一组一致的 Compose 依赖项。 beta04 对 compose-foundation 工件中的 BoxScope 进行了更改。也许您正在获得该工件的 beta04,但正在获得一个较旧的合成材料工件。

大佬总结

以上是大佬教程为你收集整理的java.lang.NoSuchFieldError: 没有 Landroidx/compose/foundation/layout/BoxScope$Companion 类型的字段 Companion;全部内容,希望文章能够帮你解决java.lang.NoSuchFieldError: 没有 Landroidx/compose/foundation/layout/BoxScope$Companion 类型的字段 Companion;所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:没有