因androidx.core库版本不匹配导致项目无法构建问题求助
问题普遍性说明
该问题属于近期Android开发领域的高频问题,大量集成了Facebook SDK、Admob SDK等第三方服务的项目都遇到了相同的编译报错。
根本原因
androidx.core:core-ktx:1.7.0-alpha01及更高版本的AAR包内置的元数据,将minCompileSdk强制指定为30。你项目中集成的Facebook、Admob SDK依赖声明未锁定core-ktx的版本号,会自动拉取最新版的依赖包,和你当前项目设置的29版本compileSdk产生冲突。
可用解决方案
- 临时规避方案(无需升级SDK版本):在项目根目录的
build.gradle文件中添加强制版本锁定规则,覆盖传递依赖的版本选择,代码如下:
allprojects { configurations.all { resolutionStrategy { force 'androidx.core:core-ktx:1.6.0' // 如果项目同时依赖Java版本的core库,也可以补充加下面这行 // force 'androidx.core:core:1.6.0' } } }
androidx.core:core-ktx:1.6.0是该库最新的稳定版,minCompileSdk为29,完全匹配你当前的项目配置,不会产生额外兼容问题。
- 长期方案:直接将模块
build.gradle中的compileSdkVersion升级为30,targetSdkVersion可根据你的业务需求决定是否同步升级。仅升级compileSdk不会影响App在低版本Android设备上的运行兼容性,只是编译阶段的配置更新。
内容的提问来源于stack exchange,提问作者Abhishek
相关产品推荐
相关产品推荐

