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

Gradle7.0.2下已配置vectorDrawables仍报VectorDrawableCompat错误如何解决

问题原因

该问题本质是AppCompat库的VectorDrawable适配校验不通过,结合你切分支后master代码无改动的背景,原因按出现概率从高到低排序为:

  • Gradle构建缓存异常:切换分支后本地残留了其他分支的构建产物、缓存配置,导致vector资源编译逻辑不符合AppCompat的校验规则
  • vectorDrawables配置位置错误:vectorDrawables.useSupportLibrary = true未配置在主app模块的build.gradle的defaultConfig块内
  • 依赖版本不兼容:当前使用的appcompat 1.2.0和AGP 7.0.2存在潜在适配问题
  • Gradle wrapper版本不匹配:项目使用的Gradle运行时版本和AGP 7.0.2的要求不一致
解决方案

按优先级依次尝试以下操作:

  1. 全量清理构建缓存
    • 打开Android Studio,点击 File > Invalidate Caches...,勾选Clear file system cache and local history,选择Invalidate and Restart
    • 重启后在项目根目录执行命令清理并构建:
      Linux/Mac执行:./gradlew clean assembleDebug
      Windows执行:gradlew.bat clean assembleDebug
  2. 确认vector配置位置
    检查主app模块的build.gradle文件,确保vectorDrawables.useSupportLibrary = true写在android.defaultConfig代码块内,示例配置:
    android {
        namespace "com.your.package"
        compileSdk 31
    
        defaultConfig {
            applicationId "com.your.package"
            minSdk 21
            targetSdk 31
            versionCode 1
            versionName "1.0"
    
            // 必须配置在这里,不能放在根目录build.gradle或者allprojects块中
            vectorDrawables.useSupportLibrary = true
        }
    }
    
    由于你的minSdk已经是21,系统原生支持VectorDrawable,也可以直接删除该配置,或者设置为vectorDrawables.useSupportLibrary = false,跳过AppCompat的Vector适配校验逻辑。
  3. 升级AppCompat依赖版本
    将appcompat依赖升级到和AGP 7.0.2兼容的稳定版本:
    implementation 'androidx.appcompat:appcompat:1.4.2'
    
  4. 核对Gradle wrapper版本
    检查项目根目录下gradle/wrapper/gradle-wrapper.properties文件,确认distributionUrl对应的Gradle版本和AGP 7.0.2匹配,要求Gradle版本 >=7.0.2,示例配置:
    distributionUrl=https\://services.gradle.org/distributions/gradle-7.0.2-bin.zip
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 06:15:04