Android Studio Java模块中定义类时出现ClassNotFoundException

pjngdqdw  于 2023-08-07  发布在  Android
关注(0)|答案(1)|浏览(125)

我的应用程序有一个使用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。

bfrts1fy

bfrts1fy1#

最后,在花了一整天的时间挠头之后,通过重新导入项目(完全清理,删除.idea文件夹)解决了这个问题。

相关问题