67

我今天将 Android Studio 升级到 3.1,现在 Android Studio 说它无法解析大多数资源的符号(例如ThemeOverlayinstyles.xml?attr/actionBarSize)。到目前为止,这似乎并没有阻止我在模拟器中构建或运行,但这些错误让我感到紧张。

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

有任何想法吗?

我正在使用带有 Gradle 4.4 版和 Gradle Plugin 3.1.0 的 Android Studio 3.1

编辑: 此问题会影响更新到 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。但是,下面的答案仍然有效。

4

16 回答 16

166

关闭项目并再次导入。今天为我工作。

导入项目

于 2018-03-28T14:39:13.493 回答
19

关闭并重新打开项目作为现有的 Android Studio 项目

于 2018-03-29T08:39:21.577 回答
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 同步。

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

笔记

  • 如果您的项目有多个模块,那么您需要一次按照上述说明操作所有模块。
于 2018-07-13T12:11:22.243 回答
10
于 2018-03-27T23:34:12.727 回答
3

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

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

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'
}
于 2018-03-27T23:30:15.690 回答
2

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

于 2018-05-05T18:01:22.167 回答
2

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

我的解决方案是

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

有关更多信息,请参阅屏幕截图

第一个解决方案

或者

第二种解决方案

于 2018-07-28T15:44:03.137 回答
1

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

于 2018-06-19T03:09:07.837 回答
1

我关闭并重新打开项目作为现有的 Android Studio 项目(没有导入它),它工作!感谢Andrew Glukhoff的评论。

于 2018-06-27T08:42:15.243 回答
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文件

我通过 modify com.android.tools.build:gradle 3.2.1and修复了这个错误Restart my mac,我不知道哪个可以修复它,但它确实对我有用。

于 2019-02-14T03:53:50.640 回答
0

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

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

即使在同步应用程序并清理和重建项目之后,问题仍然存在,即“R”未被识别且未指示其他错误。

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

但是,尽管过去似乎这对其他人不起作用,但从 SO 上的其他问题和答案来看,从可绘制文件夹中删除新图像确实有效。

同样,一个更好的解决方案显然是重命名图像以删除 Android 不喜欢的资源名称中的任何字符,然后进行清理和/或重建项目也有效。

于 2018-07-30T22:09:35.657 回答
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'
于 2018-07-18T10:15:58.347 回答
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) 中的那个

问题 #2

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

问题 #3

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 build 完成,然后瞧!

于 2018-12-10T02:53:50.560 回答
0

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

于 2019-01-16T07:20:32.353 回答
-2

我是如何解决的:
如何解决

我将 Android Studio 更新到 3.2 版,两步解决了这个问题。

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

  2. 再次打开项目。

为我工作。

于 2018-09-29T08:42:15.837 回答
-4

例子

setContentView( R.layout.activity_login_ativity );

  1. 将光标放在R
  2. 单击 Alt+Enter
  3. 选择导入类 R

为我工作:)

于 2018-08-07T09:03:05.913 回答