75

我正在运行 Ubuntu 17.10,我刚刚将Android Studio从版本 3.0.1 更新到 3.1。这是 Help -> About 中的版本信息:

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

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

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

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

  • 构建→清洁然后构建→重建没有帮助。
  • File → Invalidate Caches and Restart 也无济于事
  • 手动 Gradle 也不同步。
  • 用 Java 而不是 Kotlin 编写的另一个项目可以正常工作。
  • 链接到我遇到问题的项目(它是开源的)
4

15 回答 15

97
  1. 退出工作室。
  2. 删除 .idea/(在我看来这是最重要的)、build/、app/build 目录。
  3. 启动工作室
  4. 设置设置 -> 构建 -> Gradle 设置(在我的情况下是最后一个稳定的 Gradle 本地分发)。
  5. 清理和重建项目。

帮我。

于 2018-04-01T07:12:22.797 回答
81

删除{projectDir}/.idea/libraries,然后转到 File -> Sync Project with Gradle Files。

于 2018-04-09T23:20:42.527 回答
12

我在 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'
} 

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

1 步

2步

于 2018-10-20T13:39:46.803 回答
7

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

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

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

有效的解决方案:

原来,整个 R 包import android.R

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

希望对出于相同/类似原因而遇到此帖子的任何人有所帮助


于 2020-04-15T15:45:13.423 回答
4

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

只需在终端中运行:

./gradlew --stop
./gradlew --rerun-tasks assemble{flavour}

例如:

./gradlew --stop
./gradlew --rerun-tasks assembleDevDebug
于 2019-10-22T08:03:50.820 回答
4

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

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

在此处输入图像描述

于 2020-05-16T20:22:25.370 回答
3

我尝试了这里提出的所有解决方案,但没有奏效。对我有用的是禁用然后重新启用 Kotlin 插件。

于 2019-05-02T14:38:31.270 回答
2

Goto File->Invalidate Cache/Restart 对我有用

于 2020-05-18T07:29:30.913 回答
1

如果重构后发生这种情况,并且您已经尝试了下面提到的所有方法(我稍后会详细说明该列表),请尝试转到具有未解析引用的类并删除其所有导入。然后再次进行导入,确保导入正确的类

我尝试了以下对我不起作用的方法:

  • 使缓存失效并重启 Android Studio
  • 删除 .build、app/build 和 .idea
  • 同步 Gradle 文件
  • 启用和禁用 Kotlin 插件。
  • 清理/重建项目
  • 重新启动我的电脑(MacOS)。
于 2020-01-01T09:15:27.430 回答
1

当我删除 Android Studio 并重新安装时,它有所帮助。上面的建议没有帮助。

于 2020-02-03T07:47:33.780 回答
1

对我有用的是将 kotlin-gradle-plugin 版本更改为 IDE 中使用的相同版本的 Kotlin 插件。

也就是说,在您的顶级 build.gradle 中,找到 kotlin-gradle-plugin 并将版本更改为与 IDE Kotlin 插件版本相同的版本。

IDE Kotlin 插件版本可以在 File -> Settings -> Plugins -> Kotlin 中找到

在此处输入图像描述

于 2021-08-05T04:04:10.153 回答
0

对我来说,这一步有效:

I) 从 android studio 中删除 .idea 文件夹

II)转到文件>无效缓存/重新启动

III)它会要求您确认并单击无效并重新启动。

IV)转到构建>清理项目

五)转到构建>重建项目

试试这个。

快乐编码..!

于 2018-12-27T08:54:06.850 回答
0

帮助我的是使用 AS 3.6.3 我去​​ build.gradle (module: app) 将 buildToolsVersion 从“29.0.3”更改为“28.0.3”同步我的项目并且它工作

我认为 29.0.3 版本有问题。

我卸载了 29.0.3 版本并重新安装并使用它。29.0.3 版本非常适合我

于 2020-05-03T18:53:33.593 回答
0

读到最后:)

令人惊讶的是,在这么多答案之后,没有一个对我有用。我发现问题出在 android 工具版本和 gradle 发行版上。

我从

'com.android.tools.build:gradle:3.6.1'

'com.android.tools.build:gradle:4.0.1'

并且还从

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

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

因此,如果清理/构建、缓存无效、删除 .idea 对您不起作用。请尝试升级(或降级,如果您最近的更改导致此问题)这些版本。

于 2020-08-10T15:32:11.123 回答
0

我尝试了这里或其他任何地方提供的所有其他解决方案,帮助我的是改变我的插件在 gradle 文件中的方式。

我将其更改为这种格式:

plugins{
    id 'com.android.application'
    id 'kotlin-android'
    id 'kotlin-android-extensions'
    id 'com.google.gms.google-services'
}

在此之后,使缓存无效并重新启动,重建项目,一切都很好。令人惊讶的是,这个简单的虚无如何导致巨大的错误。

于 2021-03-22T14:19:31.660 回答