Android Studio 3.1:编辑器

时间:2018-03-28 22:14:24

标签: android android-studio kotlin 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

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

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

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

修改:更新:我现在有关于此问题的更多信息,但仍未解决:

  • 构建 - >清洁然后构建 - >重建无济于事。
  • 文件 - >无效缓存和重启也无济于事
  • 手动Gradle同步。
  • 用Java编写的另一个项目代替Kotlin工作正常。
  • Link to the project I'm experiencing issues with(它是开源的)

15 个答案:

答案 0 :(得分:70)

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

答案 1 :(得分:64)

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

答案 2 :(得分:3)

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

如果这不能解决您的问题,请在“文件>>”中选择“使缓存无效/重新启动...”,然后在下一个对话框中选择“无效并重新启动”

1 step

2 step

答案 3 :(得分:2)

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

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

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

有效的解决方案:

事实证明,整个R包(import android.R)的import语句有时已添加到import语句中,并以某种方式造成了问题(仅出于某些奇怪的原因才用于特定的布局资源)

删除import android.R可立即解决该问题,并将其放回原处也可立即重新创建。

希望能够帮助出于相同/相似原因而发帖的人


答案 4 :(得分:1)

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

答案 5 :(得分:1)

我有同样的问题。上面列出的所有“修复程序”都无济于事。

只需在终端中运行:

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

例如:

./gradlew --stop
./gradlew --rerun-tasks assembleDevDebug

答案 6 :(得分:1)

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

我尝试了以下对我不起作用的事情:

  • 使缓存无效并重新启动Android Studio
  • 删除.build,app / build和.idea
  • 同步Gradle文件
  • 启用和禁用Kotlin插件。
  • 清洁/重建项目
  • 重新启动我的电脑(MacOS)。

答案 7 :(得分:0)

对我来说,这一步有效:

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

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

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

IV)转到“构建”>“清理项目”

V)转到“构建”>“重建项目”

尝试一下。

快乐编码..

答案 8 :(得分:0)

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

答案 9 :(得分:0)

帮助我的是 使用AS 3.6.3 我去build.gradle(模块:应用程序) 将buildToolsVersion从“ 29.0.3”更改为“ 28.0.3” 同步我的项目,它成功了

我认为29.0.3版本出了点问题。

我卸载了29.0.3版本,然后再次安装并使用它。 29.0.3版本非常适合我

答案 10 :(得分:0)

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

删除此行,然后尝试运行您的项目。

enter image description here

答案 11 :(得分:0)

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

答案 12 :(得分:0)

阅读到最后:)

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

我从升级了类路径

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

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

,还从以下版本升级了distributionUrl

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对您不起作用。请尝试升级(或降级,如果您最近的更改导致了此问题)。

答案 13 :(得分:0)

我尝试了这里或其他任何地方给出的所有其他解决方案,什么对我有帮助 正在改变我的插件在 gradle 文件中的方式。

我把它改成了这种格式:

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

此后,缓存无效并重新启动,重建项目,一切正常。 令人惊讶的是,这个简单的虚无会导致巨大的错误。

答案 14 :(得分:0)

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

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

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

enter image description here