我正在将我的FloatingActionButtonSpeedDial库移植到Compose,我已经达到了应该将新的Compose库发布到maven central的阶段,但是,当我生成AAR时,所有可组合类都会抛出Unresolved reference.

enter image description here

疯狂的是,同一个包上的枚举和classic 视图库的AAR都非常好.因此,这个问题似乎只影响带@Composable注释的函数.

问题发生在调试和发布AAR中,因此不应依赖于发布时的最小化.

当然,如果我直接导入gradle模块而不是使用AAR,问题就不会发生.

我需要做一些特殊的事情来生成一个带有Composable的AAR吗?

这是图书馆模块的build.gradle

推荐答案

该问题是由以下packagingOptions个因素引起的:

    packagingOptions {
        resources {
            exclude '.readme'
            exclude 'LICENSE.txt'
            exclude 'fabric/*.properties'
            // Exclude the Firebase/Fabric/other random properties files
            exclude '/*.properties'
            // Exclude AndroidX version files
            exclude 'META-INF/*.version'
            // Exclude consumer proguard files
            exclude 'META-INF/proguard/*'
            exclude 'META-INF/*.properties'
            exclude 'META-INF/LICENSE.txt'
            exclude 'META-INF/MANIFEST.MF'
            exclude 'META-INF/NOTICE.txt'
            exclude "META-INF/AL2.0"
            exclude "META-INF/LGPL2.1"
            exclude 'META-INF/maven/com.google.guava/guava/pom.properties'
            exclude 'META-INF/maven/com.google.guava/guava/pom.xml'
            exclude 'META-INF/*.kotlin_module'
            // for byte-buddy
            exclude "META-INF/licenses/ASM"
            pickFirst "win32-x86-64/attach_hotspot_windows.dll"
            pickFirst "win32-x86/attach_hotspot_windows.dll"
        }
    }

尤其是exclude 'META-INF/*.kotlin_module'人:访问顶级成员需要这个文件.

最好是清除这个排除列表,只添加使项目得以构建所需的内容.

Android相关问答推荐

Android Compose Lazy柱形实时UI更改

编写Landscape BoxWithRequests具有错误的高度.(aspectRatio matchHeight约束第一次未按预期工作)

Android,从C++调用的铁 rust 库缺少符号

添加可组合元素的列表?

为什么当我在装有Firebase的安卓系统中登录苹果时,收到的邮箱为空?

登录方法显示为空列表,即使它显示的是Firebase身份验证控制台

穿戴与iPhone连接的安卓操作系统

如何在Android Studio的LinearLayout中禁用阴影

Modifer.Align()不适用于行/列/框中的文本.未解决的作用域实例错误

使用Kotline绑定时,ViewHolder无法识别文本视图

不能有意地从一个活动的可组合功能转移到另一个活动

是否可以附加事件处理程序,如onClick,拖动到Canvas Composable中绘制的内容,或使用drawBehind修饰符?

如何在Jetpack Compose中向SearchBar添加边框

使用不同的gradle文件导入外部库

在 Jetpack Compose 中使用 .observeAsState() 时,如何在更改 MutableLiveData 的值后开始执行一段代码?

LazyColumn 单选中的状态提升. Jetpack compose

如何将房间数据库导出到 .CSV

如何使用文件提供程序将视频从一个应用程序共享到另一个应用程序?

Jetpack 组合和片段

如何在 Android Studio 中使用 Github Copilot?