Gradle无法下载含大写字母的DBFlow依赖问题咨询
依赖解析错误:inconsistent module metadata found(DBFlow组名大小写问题)
错误信息
构建时抛出如下依赖解析错误:
> Could not resolve com.github.Raizlabs.DBFlow:dbflow-processor:4.0.5. Required by: project :ExampleApp > Could not resolve com.github.Raizlabs.DBFlow:dbflow-processor:4.0.5. > inconsistent module metadata found. Descriptor: com.github.raizlabs.dbflow:dbflow-processor:4.0.5 Errors: bad group: expected='com.github.Raizlabs.DBFlow' found='com.github.raizlabs.dbflow'
原依赖配置(AGP 7.0.2)
def dbflow_version = "4.0.5" dependencies { implementation "com.github.Raizlabs.DBFlow:dbflow:${dbflow_version}" implementation "com.github.Raizlabs.DBFlow:dbflow-core:${dbflow_version}" kapt "com.github.Raizlabs.DBFlow:dbflow-processor:${dbflow_version}" implementation "com.github.Raizlabs.DBFlow:dbflow-kotlinextensions:${dbflow_version}" }
有效解决方案
将依赖组名改为全小写即可正常构建:
def dbflow_version = "4.0.5" dependencies { implementation "com.github.raizlabs.dbflow:dbflow:${dbflow_version}" implementation "com.github.raizlabs.dbflow:dbflow-core:${dbflow_version}" kapt "com.github.raizlabs.dbflow:dbflow-processor:${dbflow_version}" implementation "com.github.raizlabs.dbflow:dbflow-kotlinextensions:${dbflow_version}" }
问题原因
- Gradle校验逻辑强化:Android Studio Dolphin | 2021.3.1 Patch 1默认配套的Gradle版本(通常为7.3及以上),对Maven依赖坐标的大小写一致性做了严格校验。早期Gradle版本会自动兼容组名的大小写差异,而新版本严格遵循Maven坐标的大小写敏感规范,不再容忍配置组名与仓库实际组名的大小写不匹配。
- DBFlow实际元数据规范:DBFlow在Maven仓库中发布的模块元数据里,组名是全小写的
com.github.raizlabs.dbflow,你之前配置的带大写字母的组名与实际元数据不符,在严格校验下触发错误。 - 环境版本差异:同事使用的Android Studio版本较低,对应的Gradle版本未启用严格的元数据校验逻辑,因此仍能兼容大小写不匹配的配置。
内容的提问来源于stack exchange,提问作者Notron
相关产品推荐
相关产品推荐

