【问题标题】:Android Studio 2.3.2 doesn't open Android *.xml layout filesAndroid Studio 2.3.2 不打开 Android *.xml 布局文件
【发布时间】:2017-06-05 00:08:51
【问题描述】:

安装最新的 Android Studio 2.3.2,我无法再在 IntelliJ IDEA 中打开我的 Android 布局 xml-Files。样式、菜单和首选项等其他资源也可以使用。

尝试过的东西: a) 构建 -> 清理项目,然后构建 -> 重建项目。 b)使缓存无效并重新启动

Log File.================================================
2017-06-05 10:02:47,957 [2188972]  ERROR - llij.ide.plugins.PluginManager - Android Studio 2.3.2  Build #AI-162.3934792 
2017-06-05 10:02:47,957 [2188972]  ERROR - llij.ide.plugins.PluginManager - JDK: 1.8.0_112-release 
2017-06-05 10:02:47,957 [2188972]  ERROR - llij.ide.plugins.PluginManager - VM: OpenJDK 64-Bit Server VM 
2017-06-05 10:02:47,957 [2188972]  ERROR - llij.ide.plugins.PluginManager - Vendor: JetBrains s.r.o 
2017-06-05 10:02:47,957 [2188972]  ERROR - llij.ide.plugins.PluginManager - OS: Windows 7 
2017-06-05 10:02:47,957 [2188972]  ERROR - llij.ide.plugins.PluginManager - Last Action: GotoDeclaration 
2017-06-05 10:02:48,895 [2189910]  ERROR - llij.ide.plugins.PluginManager - null 
java.lang.StackOverflowError
    at com.intellij.psi.impl.source.tree.RecursiveTreeElementWalkingVisitor$ASTTreeGuide.getFirstChild(RecursiveTreeElementWalkingVisitor.java:47)
    at com.intellij.psi.impl.source.tree.RecursiveTreeElementWalkingVisitor$ASTTreeGuide.getFirstChild(RecursiveTreeElementWalkingVisitor.java:34)
    at com.intellij.util.WalkingState.next(WalkingState.java:73)
    at com.intellij.util.WalkingState.walkChildren(WalkingState.java:61)
    at com.intellij.util.WalkingState.elementStarted(WalkingState.java:52)
    at com.intellij.psi.impl.source.tree.RecursiveTreeElementWalkingVisitor.visitNode(RecursiveTreeElementWalkingVisitor.java:85)
    at com.intellij.psi.impl.source.tree.RecursiveTreeElementWalkingVisitor.visitComposite(RecursiveTreeElementWalkingVisitor.java:80)
    at com.intellij.psi.impl.source.tree.AstBufferUtil$BufferVisitor.visitComposite(AstBufferUtil.java:114)
    at com.intellij.psi.impl.source.tree.CompositeElement.acceptTree(CompositeElement.java:160)
    at com.intellij.psi.impl.source.tree.AstBufferUtil.toBuffer(AstBufferUtil.java:40)
    at com.intellij.psi.impl.source.tree.AstBufferUtil.toBuffer(AstBufferUtil.java:35)
    at com.intellij.psi.impl.source.tree.CompositeElement.textToCharArray(CompositeElement.java:313)
    at com.intellij.psi.impl.source.tree.CompositeElement.getText(CompositeElement.java:265)
    at com.intellij.extapi.psi.ASTDelegatePsiElement.getText(ASTDelegatePsiElement.java:147)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslReference.getReferenceText(GradleDslReference.java:45)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslReference.getValue(GradleDslReference.java:62)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpression.resolveReference(GradleDslExpression.java:152)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslReference.getValue(GradleDslReference.java:66)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpression.resolveReference(GradleDslExpression.java:152)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslReference.getValue(GradleDslReference.java:66)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpression.resolveReference(GradleDslExpression.java:152)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslReference.getValue(GradleDslReference.java:66)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpression.resolveReference(GradleDslExpression.java:152)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslReference.getValue(GradleDslReference.java:66)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpression.resolveReference(GradleDslExpression.java:152)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslReference.getValue(GradleDslReference.java:66)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpression.resolveReference(GradleDslExpression.java:152)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslReference.getValue(GradleDslReference.java:66)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpression.resolveReference(GradleDslExpression.java:152)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslReference.getValue(GradleDslReference.java:66)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpression.resolveReference(GradleDslExpression.java:152)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslReference.getValue(GradleDslReference.java:66)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpression.resolveReference(GradleDslExpression.java:152)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslReference.getValue(GradleDslReference.java:66)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslExpression.resolveReference(GradleDslExpression.java:152)
    at com.android.tools.idea.gradle.dsl.parser.elements.GradleDslReference.getValue(GradleDslReference.java:66)

【问题讨论】:

  • 你试过Invalidate cache and restart吗?
  • 是累了很多次“使缓存无效并重新启动”
  • 我还有一个想法,也许你添加了一个错误的库
  • 同一个项目在我的同事机器上工作,但他运行的是 AS 2.2.3(旧版本),当你说库时,你的意思是应用程序依赖项或 AS 插件
  • 我总是在每次进度后备份我的项目,然后当发生这种情况时,我会跳到我以前的项目中,然后我会一个一个地复制我的进度项目文件。

标签: android android-studio intellij-idea


【解决方案1】:

你可以尝试几个选项来解决这个问题

01) 下载 2.3 版本的 IDE 并单独安装。创建一个新项目并将您的项目文件(java/resources)复制到新项目中。

您可能会收到将 Gradle 更新到最新可用版本的提示。您可以选择接受更新或根据项目的构建要求手动指定版本。

02)将项目签出到新位置并再次导入到 AS

03) 删除你的 .idea/-*.iml 文件/文件夹并重启 AS

04) 尝试将 gradle 版本升级到最新,Android gradle 插件升级到最新

您可以在 Android Studio 的 File > Project Structure > Project 菜单或顶级 build.gradle 文件中为 Gradle 版本指定 Android 插件。该插件版本适用于该 Android Studio 项目中构建的所有模块。以下示例从 build.gradle 文件将 Gradle 的 Android 插件设置为 2.3.3 版本:

buildscript {
  ...
  dependencies {
    classpath 'com.android.tools.build:gradle:2.3.3'
  }
}

您可以在 Android Studio 的“文件”>“项目结构”>“项目”菜单中指定 Gradle 版本,也可以通过编辑 gradle/wrapper/gradle-wrapper.properties 文件中的 Gradle 分发参考来指定 Gradle 版本。以下示例在 gradle-wrapper.properties 文件中将 Gradle 版本设置为 3.3。

...
distributionUrl = https\://services.gradle.org/distributions/gradle-3.3-all.zip 

【讨论】:

  • 尝试了 2) 和 3),但没有任何改变。 1) 对我来说太多了,因为它是一个大而复杂的项目,这可能是这里的原因......无论如何感谢您的写作。
猜你喜欢
  • 2016-02-13
  • 2014-12-12
  • 2019-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-08-04
相关资源
最近更新 更多