Android Studio 3.1:编辑器中错误的未解析引用

sta*_*abs 51 android kotlin android-studio android-studio-3.1

我正在运行Ubuntu 17.10,我刚刚将Android Studio从版本3.0.1 更新到3.1.这是帮助中的版本信息 - >关于:

Android Studio 3.1
Build #AI-173.4670197, built on March 22, 2018
JRE: 1.8.0_152-release-1024-b01 amd64
JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
Linux 4.13.0-37-generic
Run Code Online (Sandbox Code Playgroud)

不幸的是,虽然IDE在我的(第一次)Kotlin项目之前能够解析特定于Android的引用,但在新版本中它似乎无法解决.这是截图显示我的意思:

Android Studio 3.1中,它声称核心Android功能setContentView()不存在,并且不断提示我为它创建一个抽象功能 - 我显然不想这样做.但是,如果我按下构建按钮,我会得到一个BUILD SUCCESSFUL in 8s.

有谁知道我的编辑器为什么这样做,以及如何让Android相关的函数和类再次正确解析?

编辑:更新:我现在有关于这个问题的更多信息,但它仍然没有解决:

  • 构建 - >清理然后构建 - >重建没有帮助.
  • 文件 - >无效缓存和重新启动也没有帮助
  • 也没有手动Gradle同步.
  • 用Java编写的另一个项目而不是Kotlin工作得很好.
  • 链接到项目我遇到的问题(它的开源)

Vik*_*ger 73

删除{projectDir}/.idea/libraries,然后转到文件 - >使用Gradle文件同步项目.

  • 仍然无法理解虽然这种易于重现的bug可以通过Google的测试? (4认同)

Sla*_*kov 70

  1. 退出工作室.
  2. 删除.idea /(在我看来这是最重要的),build /,app/build目录.
  3. 启动Studio
  4. 重新设置设置 - >构建 - >平移设置(在我的情况下,最后稳定的Gradle本地分布).
  5. 清洁和重建项目.

帮我.


Dim*_*tar 11

我在 Android Studio 3.2.1 上遇到了同样的问题。

解决方案是使用稳定的 'com.android.tools.build:gradle:3.2.1',而不是 alpha ...

在项目 build.gradle 中像下面的代码一样更改版本(或者如果有更新的稳定版本)

dependencies {
  classpath 'com.android.tools.build:gradle:3.2.1'
} 
Run Code Online (Sandbox Code Playgroud)

如果这不能解决您的问题,那么在 File >> 选择 Invalidate caches/Restart... 并在下一个对话框中选择 Invalidate and Restart

1 步

2 步


小智 8

确保您没有在任何活动/片段中导入 android.R 。当 Android Studio 尝试将代码从 Java 转换为 Kotlin 时,可能会发生这种情况。

删除此行并尝试运行您的项目。

在此输入图像描述

  • 这就是答案!! (2认同)

dbo*_*bog 6

我有同样的问题。上面列出的“修复”都没有帮助。

只需在终端中运行:

./gradlew --stop
./gradlew --rerun-tasks assemble{flavour}
Run Code Online (Sandbox Code Playgroud)

例如:

./gradlew --stop
./gradlew --rerun-tasks assembleDevDebug
Run Code Online (Sandbox Code Playgroud)


小智 6

我有一个非常相似的问题:

工作正常的布局资源(即:activity_view.xml)突然不会被检测到或显示在自动完成列表中,等等。

我尝试了所有这些“删除 .idea 文件夹/使缓存无效/重新启动 Android Studio”解决方案,但没有任何效果。

有效的解决方案:

原来整个 R 包 ( import android.R) 的 import 语句在某个时候被添加到 import 语句中,并且以某种方式造成了问题(对于特定的布局资源,仅出于某些奇怪的原因)

删除import android.R立即解决了问题,将其放回去也立即重新创建了它。

希望能帮助任何以相同/类似原因遇到这篇文章的人



sha*_*eeq 5

转到文件->无效缓存/重新启动对我有用