Android集成mongodb-driver-kotlin-coroutine:5.2.0时构建配置无效问题
解决MongoDB Kotlin协程驱动构建报错:Record desugaring全局合成问题
错误原因
MongoDB Kotlin协程驱动5.x版本依赖了Java Record特性,而Android需要通过Core Library Desugaring来兼容这类Java 8+语法/类。你的构建配置中缺少全局合成(global synthetics)的消费者配置,导致触发该错误。
具体解决步骤
1. 完善Core Library Desugaring配置
在模块级的build.gradle(或build.gradle.kts)中,启用desugaring并指定兼容的Java版本,同时添加desugaring依赖:若使用Groovy语法:
android { compileOptions { coreLibraryDesugaringEnabled true sourceCompatibility JavaVersion.VERSION_17 targetCompatibility JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" } } dependencies { coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4' }若使用Kotlin DSL语法:
android { compileOptions { coreLibraryDesugaringEnabled = true sourceCompatibility = JavaVersion.VERSION_17 targetCompatibility = JavaVersion.VERSION_17 } kotlinOptions { jvmTarget = "17" } } dependencies { coreLibraryDesugaring("com.android.tools:desugar_jdk_libs:2.0.4") }2. 启用全局合成支持
在项目根目录的gradle.properties文件中添加以下配置:android.enableGlobalSynthetics=true3. 升级依赖(可选但推荐)
- 将Kotlin版本升级至
1.9.20或更高(与Gradle 8.6完全兼容) - 尝试切换到MongoDB Kotlin协程驱动的最新稳定版(如
5.3.0),修复潜在的兼容性问题
- 将Kotlin版本升级至
4. 清理重建项目
执行Build > Clean Project,再执行Build > Rebuild Project;若问题仍存在,删除项目根目录的.gradle、.idea文件夹以及模块的build目录,重新同步项目。
内容的提问来源于stack exchange,提问作者Suraj Pal
相关产品推荐
相关产品推荐

