You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

添加core-ktx依赖后Gradle构建失败,求助解决方案

解决添加core-ktx后AAPT2资源缺失的问题

你遇到的这个问题核心原因是core-ktx属于AndroidX生态的库,但你当前项目里依赖的旧版appcompat-v7-26.1.0和AndroidX库的资源要求不兼容,导致AAPT2编译时找不到android:attr/fontVariationSettings这类属性。下面给你几个靠谱的解决办法,完全不用禁用已经弃用的AAPT2:

1. 替换旧版support库为AndroidX的AppCompat

旧的appcompat-v7是support库时代的产物,和AndroidX库存在资源冲突。你需要把它替换成AndroidX版本的AppCompat依赖,同时确保core-ktx的版本和它兼容:

// 移除旧的appcompat-v7依赖
// implementation 'com.android.support:appcompat-v7:26.1.0'

// 添加AndroidX版本的AppCompat和core-ktx(可以用最新稳定版)
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.core:core-ktx:1.10.1'

2. 启用AndroidX和Jetifier自动转换

如果你的项目还没完全迁移到AndroidX,需要在项目根目录的gradle.properties文件里添加以下配置,让Gradle自动把旧的support库依赖转换为AndroidX版本:

android.useAndroidX=true
android.enableJetifier=true

Jetifier会帮你处理大部分跨库的版本兼容问题,避免手动替换所有依赖的麻烦。

3. 清理Gradle缓存并重新构建

有时候缓存的旧资源文件会干扰编译,你可以:

  • 在Android Studio中点击File -> Invalidate Caches... -> Invalidate and Restart,让IDE清理缓存并重启
  • 或者手动删除用户目录下的.gradle/caches文件夹(就是报错里提到的C:\Users\Marc\.gradle\caches),然后重新同步项目

至于为什么添加其他ktx库(比如collections-ktx)没问题,是因为这类库对AppCompat的依赖关联没那么紧密,或者版本要求较低,暂时没触发冲突,但core-ktx和AppCompat的资源耦合度更高,所以问题会立刻显现出来。

内容的提问来源于stack exchange,提问作者Zonico

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 09:43:11