Android Studio中新建KMM项目因UnitSuspendFunctionObjCExport无法构建
问题场景
在Android Studio Lady Bug中安装Kotlin Multiplatform插件v.0.8.3(242)-5,创建Multiplatform项目后构建时出现以下错误:
org.jetbrains.kotlin.backend.konan.UnitSuspendFunctionObjCExport PluginClassLoader(plugin=PluginDescriptor(name=Kotlin Multiplatform, id=com.jetbrains.kmm, descriptorPath=plugin.xml, path=~/Library/Application Support/Google/AndroidStudio2024.2/plugins/kmm.jar, version=0.8.3(242)-5, package=null, isBundled=false), packagePrefix=null, state=active, parents=PluginDescriptor(name=Kotlin, id=org.jetbrains.kotlin, moduleName=kotlin.features-trainer, descriptorPath=kotlin.features-trainer.xml, path=/Applications/Android Studio.app/Contents/plugins/Kotlin, version=242.23726.103.2422.12816248-AS, package=org.jetbrains.kotlin.training, isBundled=true), PluginDescriptor(name=Kotlin, id=org.jetbrains.kotlin, moduleName=kotlin.project-wizard.maven, descriptorPath=kotlin.project-wizard.maven.xml, path=/Applications/Android Studio.app/Contents/plugins/Kotlin, version=242.23726.103.2422.12816248-AS, package=org.jetbrains.kotlin.tools.projectWizard.maven, isBundled=true)...
解决步骤
对齐插件与内置Kotlin版本
该报错大概率是KMM插件版本与Android Studio内置的Kotlin插件版本不兼容导致的。进入Settings > Plugins,找到“Kotlin Multiplatform Mobile”插件,更新到与内置Kotlin版本(242.23726.103.2422.12816248-AS)匹配的版本,或直接安装同通道的稳定版。清理缓存重启Studio
执行File > Invalidate Caches...,勾选Clear file system cache and local history,点击Invalidate and Restart。重启后重新构建项目,排除缓存冲突问题。降级KMM插件版本
如果当前0.8.3版本存在兼容性bug,尝试降级到v.0.8.2等稳定版本。在插件市场中选择“Install specific version”,挑选适配当前Studio版本的旧版插件。手动修正项目配置
打开项目根目录的build.gradle.kts,确保KMM插件版本与Kotlin版本一致,示例配置如下:plugins { id("com.android.application") version "8.2.0" apply false id("org.jetbrains.kotlin.android") version "1.9.20" apply false id("com.jetbrains.kmm") version "0.8.2" apply false }同步项目后重新构建。
内容的提问来源于stack exchange,提问作者user3385013

