Android Studio 3.1无法解析符号(主题,小部件,属性等)


67

今天我升级过Android Studio 3.1,而现在Android Studio中说,它无法解析大部分资源的符号(例如ThemeOverlaystyles.xml?attr/actionBarSize)。到目前为止,这似乎并不能阻止我在模拟器中进行构建或运行,但是这些错误使我感到紧张。

还有其他人遇到过这个问题吗?我该如何解决呢?我曾尝试同步gradle和清理我的项目,但似乎根本没有帮助。

有任何想法吗?

我正在将Android Studio 3.1与Gradle版本4.4和Gradle插件3.1.0结合使用

编辑: 此问题影响更新到Android Studio 3.1.1、3.1.2、3.1.3、3.1.4以及Gradle插件到3.1.1、3.1.2、3.1.3和3.1.4。但是,下面的答案仍然有效。


在3.1.1中我们也得到了这个!
LOG_TAG

在3.1中。以下2个相同的问题不起作用,该怎么办
GiveJob

@HemanthSP将Android Studio更新到3.1.2后,关闭和导入项目对我来说很有效。
JPM '18年

我尝试了100种方法,但均无济于事
GiveJob

Answers:


166

关闭项目,然后再次导入。今天为我工作。

导入项目


63
使缓存无效,手动删除gradle缓存和其他技巧无效。关闭项目并再次导入。哇!我期待Android Studio 4.0。也许它会烧毁我的房子
BenjaminButton

7
打开现有的Android Studio项目在“欢迎使用Android Studio”中也可以使用。
安迪·桑德

3
我关闭并重新打开了该项目,将其作为现有的Android Studio项目(未导入),并且成功了!
安德鲁·格鲁霍夫

1
仅供参考,我将Android Studio从3.1更新到3.1.1,问题再次出现。但是,此答案仍然有效,因此我更新了帖子。
JPM

10
为什么要这样做?
AndrewPK


19

支持库不同步。

发生此错误是因为支持库与您的项目不同步。要使其恢复同步,可以执行以下步骤:

  1. 打开应用模块的build.gradle文件
  2. 注释掉implementation支持库的行。对我来说,它看起来像这样:

    //implementation 'com.android.support:appcompat-v7:27.1.1'
    //implementation 'com.android.support:recyclerview-v7:27.1.1'
    //implementation 'com.android.support.constraint:constraint-la
    
  3. 与gradle同步您的项目。您现在将出现一些错误。不用担心

  4. 取消注释implementation先前注释掉的行。

    implementation 'com.android.support:appcompat-v7:27.1.1'
    implementation 'com.android.support:recyclerview-v7:27.1.1'
    implementation 'com.android.support.constraint:constraint-la
    
  5. 再次与gradle同步您的项目。

现在应该消失了“无法解析符号”错误。这在不同的项目上为我工作了好几次。

注意

  • 如果您的项目有多个模块,那么您需要立即按照上述说明操作所有模块。

1
这实际上对我有用...关闭项目并重新导入没有。
雨果·阿莱克西斯·卡多纳

10

升级Android Studio后,您可以使缓存无效并重新启动。

File > Invalidate Caches / Restart…

图像描述入门


感谢Jorgesys,但这对我也不起作用。
JPM

1
有史以来第一次-简单的解决方案真正起作用了!谢谢。
AhabLive住

@AhabLives我希望在AS的将来版本中可以解决此问题,但现在使caché无效并重新启动就足够了。
Jorgesys

1
在尝试了几种解决方案之后,它最终对我
有用

2

由于某些原因,在26个库中找不到这些属性。为了增加这些库,您还必须将其增加到compileSdk27。可能您还必须下载sdk 27

简短版,以下是应用程序“ gradle”

android {
    compileSdkVersion 27
    //...
}

dependencies {
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.android.support:design:27.1.0'
    //...
}

长版,请检查以下所有文件:

gradle-wrapper.properties

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.zip

build.gradle(项目)

buildscript {

    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.1.0'


        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        google()
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

最后build.gradle(app)

apply plugin: 'com.android.application'

android {
    compileSdkVersion 27
    defaultConfig {
        applicationId "cl.cutiko.testingupdate"
        minSdkVersion 21
        targetSdkVersion 27
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner"
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'com.android.support:appcompat-v7:27.1.0'
    implementation 'com.android.support.constraint:constraint-layout:1.0.2'
    implementation 'com.android.support:design:27.1.0'
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'com.android.support.test:runner:1.0.1'
    androidTestImplementation 'com.android.support.test.espresso:espresso-core:3.0.1'
}

谢谢cutiko,但是很遗憾,这对我没有帮助,因为我已经在使用API​​ 27,而且您的文件看起来与我的相似。
JPM

好吧,在这里疯狂猜测,构建/重建项目?还干净吗?
cutiko

谢谢cutiko。我已经尝试过了,但也没有帮助。
JPM

2

关闭一个项目,然后像现有项目一样打开,这确实很神奇!


1
Aaaaand ...这对我有用!出奇。尽管代码以前已经可以很好地编译,但是红色底线使我非常恼火。谢啦。
阿古拉贡'18

2

只是再次导入项目对我不起作用。

我的解决方案是

  1. 删除.idea项目内的文件夹。
  2. 然后关闭项目 File> Close Project
  3. 然后通过OR从欢迎屏幕导入项目。File> New > Import Project Import Project (Gradle, Eclipse ADT, etc.)

查看屏幕截图以获取更多信息

第一种解决方案

要么

第二解决方案


1

您可以尝试关闭项目并退出Android Studio(仅关闭并重新导入它对我没有帮助)。启动Android Studio,然后再次打开项目。那对我有用!



0
implementation 'com.android.support:appcompat-v7:26.1.0'
implementation 'com.android.support.constraint:constraint-layout:1.1.2'
implementation 'com.android.support:design:26.1.0'

使用build.gradle(project)中的上述更新您的依赖项

并将以下代码放入build.gradle(Module:app)

classpath 'com.android.tools.build:gradle:3.1.1'
classpath 'io.realm:realm-gradle-plugin:3.7.1'
classpath 'com.google.gms:google-services:3.1.0'

0

对我来说,相同的症状/错误是由于将新图像拖放到名称为Android Studio不喜欢的“ drawable-xxhdpi”文件夹中(例如名称中带有数字或大写字母)引起的。

没有给出有用的错误消息,只是“无法解析符号R”消息。

即使在同步应用程序以及清理和重建项目之后,仍然存在无法识别“ R”且没有其他错误的问题。

按照其他答案中的建议关闭和导入项目无效,考虑到根本问题,这是有道理的。

但是,即使过去看来这对其他人也不起作用,从SO上的其他问题和答案来看,从drawable文件夹中删除新图像确实可行。

同样,显然,一种更好的解决方案是,重命名图像以删除Android在资源名称中不喜欢的任何字符,然后执行干净和/或重建项目。


0

问题1

我的问题与我如何使用Android插件的alpha / beta版本有关

File > Project Structure > Project

检查你的 Android Plugin Version

我当时使用的是3.3.0-beta,但在另一个项目中3.1.0-alpha

更改它3.2.0似乎可以解决我的问题,也不要忘记更改build.gradle(Project)中的内容

问题二

我的.xml文件之一出错。我错过了@string资源。请检查您所有的xml文件,并确保它们都是正确的(打开xml文件会激活Android Studio linting,滚动浏览该文件,如果出现问题,它应该显示为红色)

问题三

build.gradle我导入了不同版本的android支持库。例如

implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support:support-v4:27.1.0'

请确保它们是相同的版本。并确保Android Studio不会在gradle依赖项中抱怨任何内容。可能您的某些依赖项也导入了不同的android支持库版本。

在#1,#2和#3之后采取的步骤

清理您的项目 Build > Clean Project

使缓存无效并重新启动 File > Invalidate Caches / Restart

重新启动后,等待gradle构建完成,然后瞧!


0

我将gradle版本更新为4.10.1,并“修复并重新导入”。.idea之前没有库文件夹。然后它起作用了


0

当我更新到com.android.tools.build:gradle 3.3.1和时,出现类似的错误gradle-4.10.1

我尝试了以下方法,但是没有用:

  1. Clean Project -- Rebuild Project
  2. Invalidate Caches / Restart
  3. 检查 .xml错误(我没有发现有关xml的任何错误)
  4. 修改.iml档案

我通过修改修正此错误com.android.tools.build:gradle 3.2.1Restart my mac,我不知道是哪一个可以修复它,但它确实为我工作。


-2

我是怎么解决的:
怎么解决

我将Android Studio更新至版本3.2,并通过两个步骤解决了此问题。

  1. 已从Android Studio欢迎页面中删除。

  2. 再次打开项目。

为我工作。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.