gpt4 book ai didi

android - 对于 JetpackCompose,我们可以在另一个库中创建我们的 Composable Function 吗?

转载 作者:行者123 更新时间:2023-12-04 07:15:06 27 4
gpt4 key购买 nike

我正在尝试将一些 Jetpack Compose 函数分离到另一个库中。
在我的应用模块上,我有

setContent {
MyApplicationTheme {
Surface(color = MaterialTheme.colors.background) {
Greeting()
}
}
}
但是,可组合函数 MyApplicationTheme来自另一个图书馆
@Composable
fun MyApplicationTheme(
darkTheme: Boolean = isSystemInDarkTheme(),
content: @Composable() () -> Unit) { ... }
enter image description here
它编译得很好。但是当我运行并到达触发 MyApplicationTheme 的函数时, 它崩溃状态
    java.lang.NoSuchMethodError: No static method MyApplicationTheme(ZLkotlin/jvm/functions/Function2;Landroidx/compose/runtime/Composer;II)V in class Lcom/example/based_lib/theme/ThemeKt; or its super classes (declaration of 'com.example.based_lib.theme.ThemeKt' appears in /data/data/com.example.myapplication/code_cache/.overlay/base.apk/classes2.dex)
我有一个示例设计演示崩溃...(只需单击按钮进入 Jetpack Compose Activity ,它会崩溃)
https://github.com/elye/issue_android_jetpack_compose_another_library_crash
如果我移动 MyApplicationTheme从 BasedLib 到 Main App,然后一切编译正常。
是否不支持在另一个库中使用可组合函数,或者我需要在库中做一些事情才能让另一个库可以使用可组合函数?

最佳答案

将此行添加到您的 build.gradle位于 based-lib 中的文件模块:

buildFeatures {
compose true
}
composeOptions {
kotlinCompilerExtensionVersion compose_version
kotlinCompilerVersion '1.5.10'
}

关于android - 对于 JetpackCompose,我们可以在另一个库中创建我们的 Composable Function 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68816470/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com