我的应用程序有一个使用Jetpack Compose的模块和另一个带有一些Java类的非Android(普通Java库)模块。我遇到了一个问题,如果我使用普通Java/Kotlin模块中定义的类,Jetpack Compose预览会失败并出现渲染错误,并抛出:
java.lang.ClassNotFoundException: <ClassName> at java.lang.ClassLoader.loadClass at java.lang.ClassLoader.loadClass ...
字符串
Java模块被添加到Compose模块的依赖项中:
implementation project(':java-common')
型
一切都编译和运行在设备上就好了。仅在预览中出现问题。如果我在Android库模块中定义了相同的类,那么预览版也可以正常工作,所以我认为问题在于类是在Java/Kotlin模块中定义的。以下是库模块的构建文件:
plugins {
id("java-library")
id("org.jetbrains.kotlin.jvm")
}
kotlin {
jvmToolchain(17)
}
java {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
型
我是否缺少库模块中的某些配置?(我真的不想把它变成Android模块,因为项目中还有其他一些非Android部分使用它)。
我正在使用AS Flamingo和AGP 8.0.2以及Kotlin1.8.22。
1条答案
按热度按时间bfrts1fy1#
最后,在花了一整天的时间挠头之后,通过重新导入项目(完全清理,删除.idea文件夹)解决了这个问题。