导入--Android Studio突然无法解析符号
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')
}
当我点击“与Gradle同步”并打开“项目设置”时,我收到一个红色错误,告诉我我有重复的库引用并删除未使用的库引用。
我的项目编译并运行良好,但我真的需要自动完成工作! 有没有人有什么建议?
25个解决方案
277 votes
这里前面提到的所有事情都没有真正对我有用。 但后来我在文件菜单Indexing...中找到了这个菜单条目,似乎解决了这个问题。
我真的不知道在后台发生了什么,但是当Android Studio再次启动时,状态栏说Indexing...一分钟左右显然有奇迹。
作为参考,我使用的是Android Studio 0.5.4。
Victor Häggqvist answered 2019-03-17T15:51:00Z
208 votes
你已经列出了大多数有用的东西,但你可以尝试:
退出Android Studio
备份您的项目
删除所有.iml文件和.idea文件夹
重新启动Android Studio并重新导入您的项目
顺便说一下,您在“项目结构”对话框中看到的错误消息大部分都是假的。
更新:
Android Studio 0.4.3在canary更新频道中可用,并且应该有望解决大多数这些问题。 可能会有一些挥之不去的问题; 如果您在0.4.3中看到它们,请告诉我们,并尝试为我们提供一组可靠的重现步骤,以便确保我们能够处理所有代码路径。
Scott Barta answered 2019-03-17T15:50:20Z
50 votes
浏览链接,它对我有用。
1.)从android studio左上角的菜单中选择File选项。
2.)选择选项:“无效缓存/重新启动..”它将打开一个对话框。
3.)单击第一个按钮,选项:“Invalidate and Restart”
4.)它将关闭工作室并重新启动它。 开始索引项目。
它解决了我的问题:
文件 - > 无效缓存/重启 - > 无效并重新启动
资源:[https://www.youtube.com/watch?v=FX_gCTpqhwM]
Manmohan Soni answered 2019-03-17T15:52:25Z
12 votes
Android Studio 1.3
打开模块设置
单击Modules菜单下的模块
在属性选项卡中,将源兼容性和目标兼容性设置为您的Java版本。
我什么也没做,这对我有用。
Mathieu de Brito answered 2019-03-17T15:53:28Z
9 votes
对我来说,这是我的build.gradle中的“proguard”构建条目。 我删除了整个构建部分,然后重新同步并解决了问题。
Helzgate answered 2019-03-17T15:53:55Z
2 votes
以为我也会把它扔出去:
对我有用的事情是将我的构建变体改回到以前工作的变体。 出于某种原因,我之前已经改变了这一点(我忘记了原因)。
无论哪种方式,最好的办法是尽量记住你那天改变的东西(可能是像清洁一样轻微的东西,或者回到之前的git提交)......等等。
它还有助于尝试重新同步gradle并强制重建。
David T. answered 2019-03-17T15:54:45Z
1 votes
今天早上在几个小时内遇到了同样的问题。 从命令行构建我的项目似乎已经为我做了诀窍。
确切的步骤 -
克隆的新存储库(没有Android工作室文件在repo中)
从命令行构建调试项目(./gradlew clean assembleDebug)
打开Android Studio,导入项目
要检查它是否有效,请查看您的项目explosion-bundles文件夹,检查库并找到classes.jar。 如果它是可扩展的,那么一切都会好起来的。
编辑 - 我发现在Android工作室中做了一个干净,它又破了。 因此,如果必须清理,则需要再次执行此过程。
Kevin Grant answered 2019-03-17T15:56:01Z
1 votes
在Android Studio 0.5.8中,这些方法都没有帮助我。
我的解决方案是删除〜/ .AndroidStudioPreview目录(在Ubuntu中)。 对不起,我不知道在其他操作系统中它在哪里。 此目录存储临时文件和Android Studio设置,因此我错过了所有设置。 但它的确有效!
DmitryDzz answered 2019-03-17T15:56:36Z
1 votes
另一种方法是下载JDK 1.7并在错误消息中更改Android Studio的路径..并选择Jdk 1.7文件夹中包含的主文件夹
Panos answered 2019-03-17T15:57:01Z
1 votes
今天遇到了同样的问题。 通过将项目结构中的jdk位置从\java\jdk1.7.0_05更改为\java\jdk1.7.0_25(直到现在我都不知道存在)来修复它。
我使用的是Android Studio 0.8.6。
opened_eyes_media answered 2019-03-17T15:57:36Z
1 votes
Android Studio内置了一个更简单的解决方案,它通常适用于我,而不需要在其他答案中提到任何强力解决方案 - 所以你应该先尝试这个:
单击Android Studio右侧的“gradle”符号,然后单击“Refresh all Gradle projects”工具。
auval answered 2019-03-17T15:58:11Z
1 votes
我正在使用Android Studio 3.1.4,当我从具有较低api目标的开发分支移动到具有目标api Oreo的另一个分支时,我遇到了这样的问题。 我尝试了第一个有效的解决方案,但它非常棘手,而第二个解决方案没有解决问题。
我的解决方案当问题再次弹出时,我试图略微修改我的应用程序gradle文件,足以让AS同步文件,这就是诀窍。 然后我删除了更改。
我想“与Gradle文件同步项目”可能也可以,但我自己没有尝试过
希望能帮助到你
Aenon answered 2019-03-17T15:58:55Z
0 votes
我遇到了类似的问题但我在我的案例中遵循了以下步骤: -
1).idea文件夹下的.idea文件夹打开modules.xml。2)。检查同一个iml文件是否有两个条目。3)。删除一个重复的条目并关闭android studio或再次构建gradle文件。
在我的情况下它工作。希望能帮助到你
Gagandeep Singh answered 2019-03-17T15:59:36Z
0 votes
我通过设置JDK解决了这个问题。 当我将鼠标放在错误上时,我弹出一个提示JDK的设置。
varghesekutty answered 2019-03-17T16:00:02Z
0 votes
我遇到了同样的问题,这里列出的解决方案都没有。 问题是我的源文件不在右侧文件夹中。
目录结构必须是:
[project]\[module]\src\main\java\[yourpackage]\[yourclass.java]
Rémy DAVID answered 2019-03-17T16:00:42Z
0 votes
我终于找到了导致这个问题的原因。
实际上,您应该避免将.idea文件夹推送到您的存储库。 它在Android Studio中创建奇怪的东西,往往删除所有下载的库。
如果您有提交历史记录,只需重新创建所有缺少的库文件,并避免再次提交它们。 否则,只需删除整个.idea文件夹并将其重新导入AS。
Adrien Cadet answered 2019-03-17T16:01:24Z
0 votes
尝试使用以下值更改build.gradle:
android { compileSdkVersion 18 buildToolsVersion '21 .0.1'
defaultConfig {
minSdkVersion 18
targetSdkVersion 18
}
Fakher answered 2019-03-17T16:02:00Z
0 votes
我使用共享首选项,但Android Studio抱怨编辑器符号。 然后,我补充道
import android.content.SharedPreferences.Editor;
和象征现在很酷。
fullMoon answered 2019-03-17T16:02:33Z
0 votes
请检查您是否有一个具有特殊字符的项目路径! (感叹号)。
在我遇到的类似问题中,这是根本原因 - 因为许多Java应用程序似乎不能容忍这样的特殊字符(例如,从终端执行'gradlew clean'会失败并抛出RunTimeException。)。在线发布的其他解决方案都没有帮助我。 但是,一旦我删除了! 从路径和干净的构建,Android Studio神奇地工作。
Jim C answered 2019-03-17T16:03:07Z
0 votes
我尝试了这里列出的一切。然后我检查了我的androidmanifest.xml由于文件夹重命名和放大,我有一些stoopid不匹配 包重命名。
JDOaktown answered 2019-03-17T16:03:33Z
0 votes
在我的多模块项目中,问题是模块A中的“com.android.support:appcompat-v7”版本是“22.0.0”,但是在B - “22.2.0”中。
解决方案:确保
1.公共库的版本在模块中是相同的。
2.每个模块编译时没有任何错误(尝试从CLI构建每个模块)。
surlac answered 2019-03-17T16:04:21Z
0 votes
请注意,文件名和特殊文件夹可能会导致此错误。 例如,如果你有一个文件夹“Helpers”,并且该文件夹中的文件包是“com.whatever.helpers”,它将不会导致任何编译错误,但会导致Android工作室无法加载该文件夹中的符号。一个典型的原因是当您使用第一个大写字母命名文件夹时,在Git上提交它,然后将文件夹名称更改为全部小写。 Git系统无法识别导致本地和远程存储库之间存在差异的更改,只会影响新的存储库克隆。
Eduardo Cobuci answered 2019-03-17T16:04:48Z
0 votes
另一个非常微妙的原因:
多味道库应该以特定的方式编译,而不是普通的单味。 否则它无声地生成无法解析符号错误。
基于Android Gradle多风味库的多风味应用
WindRider answered 2019-03-17T16:05:29Z
0 votes
我通过从我的模块子项目中删除settings.gradle来修复此问题。 这是一个Java Gradle项目,它有自己的settings.gradle文件,不知何故它搞砸了。
感谢这个家伙:[https://stackoverflow.com/a/33978721/425238]
whitebrow answered 2019-03-17T16:06:07Z
-1 votes
我有一个更奇怪的解决方案。 如果有人碰到这个,那么值得仔细检查你的gradle文件。 事实证明,当我克隆这个git并且gradle正在运行时,它从我的build.gradle(app)文件中删除了一行。
dependencies {
provided files(providedFiles)
显然,这里的问题是只需将其添加回来并与gradle重新同步。
Blaze Gawlik answered 2019-03-17T16:06:42Z