首页 文章

Android Studio突然无法解析符号

提问于
浏览
185

Android Studio 0.4.2工作正常,今天我打开它,几乎所有东西都是红色的,自动完成功能已停止工作 . 我看看导入和AS似乎告诉我它突然找不到 android.support.v4 (为我提供了删除未使用的导入的选项) . ( android.support.v7 似乎很好) .

我尝试过的事情:

  • 重建项目

  • 清理项目

  • 与Gradle文件同步

  • 关闭项目,关闭AS并重新启动/重新打开

  • 文件>使高速缓存/重新启动无效

  • 检查Lint,没有看到任何明显的东西

  • 在SDK管理器中仔细检查所有支持库是否是最新的

  • 检查我的Build.gradle,虽然没有变化,但它和往常一样,它一直在工作 .

在这里它是相关的:

buildscript {
    repositories {
        mavenCentral()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:0.7.+'
    }
}
apply plugin: 'android'

repositories {
    mavenCentral()
}

android {
    compileSdkVersion 19
    buildToolsVersion '19.0.0'

    defaultConfig {
        minSdkVersion 8
        targetSdkVersion 19
    }
}

dependencies {
    compile 'com.android.support:support-v4:19.0.0'
    compile 'com.android.support:gridlayout-v7:19.0.0'
    compile 'com.android.support:appcompat-v7:19.0.0'
    compile 'com.google.android.gms:play-services:4.0.30'
    compile project(':libraries:facebook')
    compile files('libs/core.jar')
}

当我点击"Sync with Gradle"并打开"Project Settings"时,我收到一个红色错误,告诉我我有重复的库引用并删除未使用的库..
enter image description here

我的项目编译并运行正常,但我真的需要自动完成工作!有没有人有什么建议?

enter image description here

25 回答

  • 0

    我有一个更奇怪的解决方案 . 如果有人碰到这个,那么值得仔细检查你的gradle文件 . 事实证明,当我克隆这个git并且gradle正在运行时,它从我的build.gradle(app)文件中删除了一行 .

    dependencies {
         provided files(providedFiles)
    

    显然这里的问题是只需将其添加回来并与gradle重新同步 .

  • 12

    在Android Studio 0.5.8中,这些方法都没有帮助我 .

    我的解决方案是删除〜/ .AndroidStudioPreview目录(在Ubuntu中) . 对不起,我不知道在其他操作系统中它在哪里 . 此目录存储临时文件和Android Studio设置,因此我错过了所有设置 . 但它的确有效!

  • 0

    Another very subtle cause:

    多味道库应该以特定的方式编译,而不是普通的单味 . 否则它默默生成无法解析符号错误 .

    Multi flavor app based on multi flavor library in Android Gradle

  • 0

    在我的多模块项目中,问题是模块A中"com.android.support:appcompat-v7"的版本是"22.0.0",但是在B - "22.2.0"中 .

    Solution :确定
    1.公共库的版本在模块中是相同的 .
    2.每个模块编译时没有任何错误(尝试从CLI构建每个模块) .

  • 1

    我正在使用Android Studio 3.1.4,当我从具有较低api目标的开发分支移动到具有目标api Oreo的另一个分支时,我遇到了这样的问题 . 我尝试了第一个有效的解决方案,但它非常棘手,而第二个解决方案没有解决问题 .

    My Solution 当问题再次弹回时,我试图略微修改我的应用程序gradle文件足以让AS同步文件,这就是诀窍 . 然后我删除了更改 .

    我想“与Gradle文件同步项目”可能也可以,但我自己没有尝试过

    希望能帮助到你

  • 0

    我终于找到了导致这个问题的原因 .

    实际上,您应该避免将 .idea/libraries 文件夹推送到您的存储库 . 它在Android Studio中创建奇怪的东西,往往删除所有下载的库 .

    如果您有提交历史记录,只需重新创建所有缺少的库文件,并避免再次提交它们 . 否则,只需删除整个 .idea 文件夹并将其重新导入AS .

  • 1

    Android Studio 1.3

    • 打开 Module Settings

    • 单击“模块”菜单下的 module

    • properties tab 中,将 Source CompatibilityTarget Compatibility 设置为java版本 .

    我什么都没做,它对我有用 .

  • 0

    今天遇到了同样的问题 . 通过将项目结构中的jdk位置从 \java\jdk1.7.0_05 更改为 \java\jdk1.7.0_25 (我直到现在都不知道)来修复它 .

    我使用的是Android Studio 0.8.6 .

  • 0

    我遇到了同样的问题,这里列出的解决方案都没有 . 问题是我的源文件不在右侧文件夹中 .

    目录结构必须是:

    [project]\[module]\src\main\java\[yourpackage]\[yourclass.java]

  • 0

    请检查您是否有一个具有特殊字符的项目路径! (感叹号) .

    similar problem that I experienced中,这是根本原因 - 因为许多Java应用程序似乎不能容忍这样的特殊字符(例如,从终端执行'gradlew clean'会失败并抛出RunTimeException . ) . 在线发布的其他解决方案都没有帮助我 . 但是,一旦我删除了!从路径和干净的构建,Android Studio神奇地工作 .

  • 0

    请注意,文件名和特殊文件夹可能会导致此错误 . 例如,如果您有一个文件夹“Helpers”,并且此文件夹中的文件包是“com.whatever.helpers”,则不会导致任何编译错误,但会导致Android工作室无法加载该文件夹中的符号 . 一个典型的原因是当您使用第一个大写字母命名文件夹时,在Git上提交它,然后将文件夹名称更改为全部小写 . Git系统无法识别导致本地和远程存储库之间存在差异的更改,只有新的存储库克隆会受到影响通过 .

  • 0

    尝试使用以下值更改build.gradle:

    android {compileSdkVersion 18 buildToolsVersion '21 .0.1'

    defaultConfig {
        minSdkVersion 18
        targetSdkVersion 18
    }
    
  • 210

    另一种方法是下载JDK 1.7并在错误消息中更改Android Studio的路径..并选择Jdk 1.7文件夹中包含的Home文件夹

  • 0

    前面提到的所有事情都没有真正对我有用 . 但后来我在文件菜单 Invalidate Caches/Restart 中找到了这个菜单项,似乎解决了这个问题 .

    我真的不知道后台发生了什么,但是当Android Studio再次启动时,状态栏会说 Indexing... 一分钟左右,显然确实有奇迹 .

    作为参考,我使用的是Android Studio 0.5.4 .

  • 1

    我通过设置JDK解决了这个问题 . 当我将鼠标放在错误上时,我弹出一个提示JDK的设置 .

  • 9

    我尝试了这里列出的一切 . 然后我检查了我的androidmanifest.xml,由于文件夹重命名和包重命名,我有一些stoopid不匹配 .

  • 1

    Android Studio中内置了一个更容易的解决方案,它通常适用于我,而不需要在其他答案中提到任何强力解决方案 - 所以你应该先尝试这个:
    enter image description here

    单击Android Studio右侧的“gradle”符号,然后单击“Refresh all Gradle projects”工具 .

  • 0

    浏览链接,它对我有用 .

    1.)从android studio左上角的菜单中选择File选项 .

    2.)选择选项:“使缓存无效/重新启动..”将打开一个对话框 .

    3.)单击第一个按钮,选项:“无效并重新启动”

    4.)它将关闭工作室并重新启动它 . 开始索引项目 .

    它解决了我的问题:

    文件 - >无效缓存/重新启动 - >无效并重新启动

    资料来源:https://www.youtube.com/watch?v=FX_gCTpqhwM

  • 1

    我遇到了类似的问题,但在我的案例中我遵循了以下步骤: -

    1).idea文件夹下的.idea文件夹打开modules.xml . 2) . 检查同一个iml文件是否有两个条目 . 3) . 删除一个重复的条目并关闭android studio或再次构建gradle文件 .

    在我的情况下,它工作 . 希望能帮助到你

  • 277

    我使用共享首选项,但Android Studio抱怨编辑器符号 . 然后,我补充说

    import android.content.SharedPreferences.Editor;
    

    和象征现在很酷 .

  • -1

    今天早上几个小时挣扎着同样的问题 . 从命令行构建我的项目似乎已经为我做了诀窍 .

    确切的步骤 -

    • 克隆的新存储库(没有Android工作室文件处于回购状态)

    • 从命令行构建调试项目(./gradlew clean assembleDebug)

    • 打开Android Studio,导入项目

    要检查它是否有效,请查看您的项目explosion-bundles文件夹,检查库并找到classes.jar . 如果它是可扩展的,那么一切都会好起来的 .

    编辑 - 我发现在Android工作室中做了一个干净,它再次破了 . 因此,如果必须清理,则需要再次执行此过程 .

  • 50

    我以为我也把它扔出去了:

    对我有用的事情是将我的构建变体改回到以前工作的变体 . 出于某种原因,我之前已经改变了这一点(我忘记了原因) .

    无论哪种方式,最好的办法是尽量记住你那天改变了什么(它可能是像清洁一样轻微的东西,或者回到以前的git提交)......等等 .

    它还有助于尝试重新同步gradle并强制重建 .

  • 1

    我通过从我的模块子项目中删除 settings.gradle 来修复此问题 . 它's a Java Gradle project with it'自己的 settings.gradle 文件,它以某种方式搞砸了它 .

    谢谢你这个家伙:https://stackoverflow.com/a/33978721/425238

  • 0

    对我来说,这是我的build.gradle中的“progaurd”构建条目 . 我删除了整个构建部分,然后重新同步并解决了问题 .

  • 2

    你已经列出了大多数有用的东西,但你可以尝试:

    • 退出Android Studio

    • 备份项目

    • 删除所有.iml文件和.idea文件夹

    • 重新启动Android Studio并重新导入您的项目

    顺便说一句,您在“项目结构”对话框中看到的错误消息大部分都是假的 .

    更新:

    Android Studio 0.4.3在canary更新 Channels 中可用,并且有望解决大多数这些问题 . 可能会有一些挥之不去的问题;如果您在0.4.3中看到它们,请告诉我们,并尝试为我们提供一组可靠的重现步骤,以便确保我们能够处理所有代码路径 .

相关问题