Android Studio突然无法解析符号
Android Studio 0.4.2工作正常,今天我打开它,几乎一切都是红色的,自动完成已停止工作。 我看看导入和AS似乎告诉我,它突然找不到android.support.v4 (提供我去除未使用的导入选项)。 (虽然android.support.v7似乎很好)。
我已经尝试过的事情:
- 重建项目
- 清理项目
- 与Gradle文件同步
- 关闭项目,关闭AS并重新启动/重新打开
- 文件>使缓存失效/重新启动
- 检查林特,没有看到任何明显的
- 双重检查所有支持库在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”并打开“项目设置”时,我得到一个红色的错误告诉我,我有重复库引用,并删除未使用的..
我的项目编译和运行良好,但我真的需要自动完成工作! 有没有人有什么建议?
你已经列出了大部分有用的东西,但你可以试试:
- 退出Android Studio
- 备份你的项目
- 删除所有.iml文件和.idea文件夹
- 重新启动Android Studio并重新导入您的项目
顺便说一下,您在“项目结构”对话框中看到的错误消息大部分都是虚假的。
更新:
Android Studio 0.4.3在金丝雀更新频道中可用,并且应该有望解决大部分这些问题。 可能会有一些徘徊的问题; 如果您在0.4.3中看到它们,请告诉我们,并尝试给我们一套可靠的重现步骤,以确保我们已经处理好所有代码路径。
这里前面提到的事情都没有为我实际工作。 但是后来我在文件菜单Invalidate Caches/Restart
找到了这个菜单条目,这似乎解决了这个问题。
我真的不知道在后台发生了什么,但是当Android Studio再次启动时,状态栏显示Indexing...
一分钟左右,显然是奇迹。
作为参考,我正在使用Android Studio 0.5.4。
通过链接,它为我工作。
1.)从android studio左上角的菜单中选择“文件”选项。
2.)选择选项:“无效缓存/重新启动..”它将打开一个对话框。
3.)点击第一个按钮,选项:“Invalidate and Restart”
4.)它将关闭工作室并重新启动它。 开始项目的索引。
它解决了我的问题:
文件 – >无效缓存/重新启动 – >失效并重新启动
来源: https : //www.youtube.com/watch?v = FX_gCTpqhwM
对我来说,这是我的build.gradle中的“progaurd”构建条目。 我删除了整个构建部分,然后做了重新同步和解决问题。
Android Studio 1.3
- 打开模块设置
- 在模块菜单下点击你的模块
- 在属性选项卡中 ,将源兼容性和目标兼容性设置为您的Java版本。
我什么也没做,这对我有用。
以为我也会把它扔到那里:
那个对我来说很有用的东西就是将我的构建变体改回到之前工作的变体。 出于某种原因,我改变了这个(我忘了为什么)。
无论哪种方式,最好的办法就是尽量记住那一天你改变了什么(可能是清洁,或者回到之前的git提交)等等。
它也有助于尝试重新同步gradle并强制重建。
同样的问题在今天上午几个小时之内就挣扎了。 从命令行构建我的项目似乎已经为我做了伎俩。
准确的步骤 –
- 克隆新鲜的存储库(没有Android工作室文件在回购)
- 从命令行构建调试项目(./gradlew clean assembleDebug)
- 打开Android Studio,导入项目
要检查它是否工作,看看你的项目exploded-bundles文件夹,检查一个库,并找到classes.jar。 如果它是可扩展的,那么一切都会好起来的。
编辑 – 我发现在Android工作室干净,再次打破。 所以,如果你必须清理,你将需要再次做这个过程。
这些方法在Android Studio 0.5.8中都没有帮助我。
我的解决方案是删除〜/ .AndroidStudioPreview目录(在Ubuntu中)。 对不起,我不知道其他操作系统在哪里。 此目录存储临时文件和Android Studio设置,所以我错过了我所有的设置。 但它的作品!
另一种方法是下载JDK 1.7并从错误信息中更改Android Studio的路径。然后选择包含在Jdk 1.7文件夹中的主文件夹
今天有同样的问题。 通过将项目结构中的jdk位置从\java\jdk1.7.0_05
为\java\jdk1.7.0_25
(我\java\jdk1.7.0_25
知道)来\java\jdk1.7.0_25
它。
我正在使用Android Studio 0.8.6。
我面临类似的问题,但我遵循以下步骤在我的情况: –
1).idea文件夹下打开modules.xml。 2)。检查相同的iml文件是否有两个条目。 3)。删除重复的条目之一,关闭android studio或重新构建gradle文件。
在我的情况下,它的工作。 希望它有帮助
我通过设置JDK解决了这个问题。 当我将鼠标悬停在错误上时,我收到一个弹出窗口,提示安装JDK。
我有同样的问题,这里列出的解决方案没有工作。 问题是我的源文件不在正确的文件夹内。
目录结构必须是:
[project]\[module]\src\main\java\[yourpackage]\[yourclass.java]
我终于弄清楚是什么原因引起了这个问题。
实际上,您应该避免将.idea/libraries
文件夹推送到您的存储库。 它在Android Studio中创建奇怪的东西,往往会删除所有下载的库。
如果您有提交历史记录,只需重新创建所有缺少的库文件,并避免它们再次提交。 否则,只需删除整个.idea
文件夹并将其重新导入到AS。
尝试用这些值来改变你的build.gradle:
android {compileSdkVersion 18 buildToolsVersion '21 .0.1'
defaultConfig { minSdkVersion 18 targetSdkVersion 18 }
我使用共享偏好设置,但Android Studio抱怨编辑器符号。 然后,我补充说
import android.content.SharedPreferences.Editor;
现在符号很酷。
请检查您是否有一个具有特殊字符的项目路径! (感叹号)。
在我遇到的一个类似的问题中 ,这是根本原因 – 因为许多Java应用程序似乎不能容忍这种特殊字符(例如,从终端执行'gradlew clean'会失败并抛出RunTimeException。 在网上发布的其他解决方案都没有帮助我。 但是,一旦我删除了! 从路径和干净的构建,Android工作室神奇地工作。
我试过这里列出的一切。 然后我检查了我的androidmanifest.xml我有一些stoopid由于文件夹重命名和包重命名不匹配。
在我的多模块项目中,问题是模块A中的“com.android.support:appcompat-v7”版本是“22.0.0”,但在B – “22.2.0”中。
解决方案 :确保
1.通用库的版本在模块之间相同。
2.每个模块编译没有任何错误(尝试从CLI构建它们中的每一个)。
请注意,文件和特殊文件夹的名称可能会导致此错误。 例如,如果你有一个文件夹“助手”,并在该文件夹中的文件包是“com.whatever.helpers”它不会导致任何编译错误,但会导致Android工作室无法加载该文件夹中的符号。 一个典型的原因是当你用第一个大写字母命名文件夹时,在Git上提交它,然后将文件夹名称更改为全部小写。 Git系统将不会识别导致只有新存储库克隆将受影响的本地和远程存储库之间的差异的更改。
另一个非常微妙的原因:
多味料库应该以特定方式编制而不是一般的单味料。 否则它默默地产生不能解决符号错误。
Android Gradle中基于多风味库的多风味应用
我通过从我的模块子项目中删除settings.gradle
来解决这个问题。 这是一个Java的Gradle项目,它自己的settings.gradle
文件,它以某种方式把它搞砸了。
感谢这个家伙: https : //stackoverflow.com/a/33978721/425238