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

升级Android Studio后构建失败:缺失Material按钮样式及R文件识别异常

解决Android Studio升级后找不到Material按钮样式及R文件异常问题

你遇到的这两个样式android:style/TextAppearance.Material.Widget.Button.Borderless.Colored和android:style/TextAppearance.Material.Widget.Button.Colored是Android API 26(Android 8.0)才新增的系统样式,结合你升级AS版本后出现的问题,大概率是项目的编译配置没跟上,同时资源引用方式也有优化空间,按下面的步骤来解决:

步骤1:升级编译SDK版本到API 26或更高

打开模块级的build.gradle(就是app目录下的那个配置文件),找到android代码块里的compileSdkVersion,把它改成26及以上的稳定版本(比如28,和AS 3.1.2兼容性很好):

android {
    compileSdkVersion 28
    defaultConfig {
        minSdkVersion 你的最低支持版本 // 这个可以保持不变,只要compileSdk >= targetSdkVersion就行
        targetSdkVersion 28 // 建议和compileSdkVersion保持一致
        // 其他配置...
    }
    // 其他配置...
}

步骤2:改用AppCompat兼容样式(更推荐)

如果你的项目依赖了AppCompat库(现在几乎所有Android项目都会用),别直接引用系统的Material样式,换成AppCompat提供的兼容版本——这样不仅能解决编译问题,还能保证低版本设备上的显示效果一致:

  • 把android:style/TextAppearance.Material.Widget.Button.Borderless.Colored替换为@style/TextAppearance.AppCompat.Widget.Button.Borderless.Colored
  • 把android:style/TextAppearance.Material.Widget.Button.Colored替换为@style/TextAppearance.AppCompat.Widget.Button.Colored

步骤3:同步Support库版本与编译SDK

同样在模块级build.gradle的dependencies块里,确保AppCompat库的版本和compileSdkVersion匹配,比如compileSdk用28的话,AppCompat版本就用28.0.0:

dependencies {
    implementation 'com.android.support:appcompat-v7:28.0.0'
    // 其他依赖...
}

步骤4:彻底清理并重建项目

做完上面的修改后,执行以下操作确保缓存完全清除:

  • 点击AS顶部菜单栏的Build → Clean Project
  • 接着点击Build → Rebuild Project
  • 如果还是有残留问题,再试试File → Invalidate Caches / Restart → 选择Invalidate and Restart

至于R文件无法识别的问题,本质是因为样式找不到导致资源编译失败,R文件没有正常生成——解决完上面的样式问题后,这个异常应该会自动消失。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 08:01:10