Android Studio 3.1无法解析资源符号(Themes、Widget等)问题求助
我之前升级到Android Studio 3.1的时候也碰到过一模一样的问题!看着满屏红色波浪线但项目还能正常构建运行,那种矛盾感真的很闹心。试过Gradle同步和清理项目没用的话,可以试试下面这几个方案,亲测有效:
彻底清除IDE缓存并重启
这是解决IDE解析类问题的万金油。打开Android Studio,点击顶部菜单栏的File->Invalidate Caches / Restart,选择Invalidate and Restart。等IDE重启后,它会重新生成所有缓存文件,很多资源解析错误都会自动消失。匹配Gradle插件与IDE版本
Android Studio 3.1要求对应的Gradle插件版本至少是3.1.0。打开项目根目录下的build.gradle文件,检查dependencies里的classpath:dependencies { classpath 'com.android.tools.build:gradle:3.1.0' // 确保版本不低于3.1.0 }修改后点击Sync Now,同步完成后再看资源解析情况。
检查Android SDK Build Tools版本
确保Build Tools版本和你的compileSdkVersion匹配。比如如果你的compileSdkVersion是27,就去SDK Manager里安装27.0.3版本的Build Tools(AS 3.1推荐的版本)。也可以在app模块的build.gradle里直接指定版本:android { buildToolsVersion "27.0.3" }删除.idea文件夹重建配置
有时候IDE的配置文件夹.idea会因为升级出现损坏。先关闭Android Studio,找到项目根目录下的.idea文件夹并删除(可以先备份一份重要配置,比如run configurations),然后重新打开项目,IDE会自动生成新的配置文件,资源解析错误大概率会被修复。检查资源引用的正确性
虽然项目能构建,但IDE可能因为资源引用路径的微小问题报错。比如ThemeOverlay如果是来自AppCompat库,要确保引用的是android.support.v7.appcompat.R.style.ThemeOverlay(如果用的是Support库),或者对应AndroidX的路径(如果已经迁移)。可以尝试用Ctrl+Click(Windows/Linux)或Cmd+Click(Mac)点击资源符号,看IDE能不能跳转到定义,如果不能,说明路径可能有问题。
这些方法我当时是挨个试的,前两个方案就解决了我的问题。希望对你也有用!
内容的提问来源于stack exchange,提问作者JPM

