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

Android Studio构建报错:build.gradle资源缺失及Support库版本冲突

解决Android Studio更新后build.gradle的字体属性缺失与Support库版本冲突问题

这种问题我之前也碰到过,核心原因就是动态版本依赖拉取了高版本Support库,再加上你的编译SDK版本跟不上,导致了双重冲突。咱们一步步来解决:

问题根源拆解

  1. 字体属性找不到:你用的com.android.support:palette-v7:+里的+会自动拉取最新的Support库版本(比如28.0.0-alpha1),这些高版本库用到了API 26才引入的fontStyle、fontWeight等属性,但你的compileSdkVersion还是25,编译器找不到这些新属性,自然报错。
  2. Support库版本混合:高版本的palette库和你指定的25.2.0版本的appcompat、design等库版本不一致,Android要求所有Support库必须同版本,所以触发了警告。

具体解决步骤

1. 统一所有Support库版本

把所有带com.android.support前缀的依赖都改成和你compileSdkVersion匹配的固定版本(这里是25.2.0),尤其是那个带+的palette依赖:

// 把原来的
compile 'com.android.support:palette-v7:+'
// 改成
compile 'com.android.support:palette-v7:25.2.0'

确保所有Support库版本完全一致,现在你的依赖里appcompat、design、recyclerview、cardview、palette都统一为25.2.0,版本冲突警告就会消失。

2. 匹配Build Tools版本

你的compileSdkVersion是25,建议把buildToolsVersion改成对应25的稳定版本,避免高版本Build Tools和低版本SDK的潜在冲突:

// 把原来的
buildToolsVersion '27.0.3'
// 改成
buildToolsVersion '25.0.3'

3. 同步并清理项目

  • 点击Android Studio顶部菜单栏的File -> Sync Project with Gradle Files,等待同步完成。
  • 再点击Build -> Clean Project,清理旧的编译缓存。
  • 最后Build -> Rebuild Project,重新构建项目。

修改后的完整build.gradle代码

apply plugin: 'com.android.application'
android {
    compileSdkVersion 25
    buildToolsVersion '25.0.3'
    defaultConfig {
        applicationId "com.shaon.myapp"
        minSdkVersion 19
        targetSdkVersion 25
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}
dependencies {
    compile fileTree(dir: 'libs', include: ['*.jar'])
    androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })
    // RecyclerView
    // CardView
    compile 'com.android.support:appcompat-v7:25.2.0'
    compile 'com.android.support.constraint:constraint-layout:1.0.2'
    compile 'com.android.support:design:25.2.0'
    compile 'com.android.support:recyclerview-v7:25.2.0'
    compile 'com.android.support:cardview-v7:25.2.0'
    testCompile 'junit:junit:4.12'
    compile 'org.jbundle.util.osgi.wrapped:org.jbundle.util.osgi.wrapped.org.apache.http.client:4.1.2'
    compile 'org.jsoup:jsoup:1.7.3'
    compile 'com.android.support:palette-v7:25.2.0'
}

这样操作后,应该就能顺利编译通过了。记住以后尽量不要用+来指定依赖版本,固定版本能避免很多这种莫名其妙的更新冲突。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:45:56