Compose Multiplatform多模块项目字体加载失败异常解决
Compose Multiplatform库模块字体加载IllegalStateException问题修复
问题描述
开发多模块Compose Multiplatform(CMP)项目时,使用libs.plugins.multiplatform.library创建新的CMP库模块,添加字体资源并尝试调用时,运行时抛出以下异常:
java.lang.IllegalStateException: Could not load font Caused by: java.lang.IllegalStateException: Unable to load font
已确认字体文件正确放置在resources目录,模块build.gradle.kts配置无明显错误,但应用仍因该异常崩溃,无法正常加载字体。
解决方案
通过移除libs.plugins.multiplatform.library插件,改用libs.plugins.android.library插件解决问题,具体修改如下:
模块级build.gradle.kts
plugins { alias(libs.plugins.compose) alias(libs.plugins.multiplatform) alias(libs.plugins.compose.compiler) alias(libs.plugins.android.library) // ✅ 修复:替换为android.library插件 }
项目级build.gradle.kts
plugins { alias(libs.plugins.multiplatform) apply false alias(libs.plugins.multiplatform.library) apply false alias(libs.plugins.compose.compiler) apply false alias(libs.plugins.compose) apply false alias(libs.plugins.android.application) apply false alias(libs.plugins.android.library) apply false // ✅ 添加android.library插件声明 }
版本目录libs.versions.toml
[plugins] android-library = { id = "com.android.library", version.ref = "agp" } # ✅ 添加android-library插件配置
内容的提问来源于stack exchange,提问作者Al-Taie
相关产品推荐
相关产品推荐

