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

Android Studio 3.1:编辑器中错误的未解析引用,android,android-studio,kotlin,android-studio-3.1,Android,Android Studio,Kotlin,Android Studio 3.1,我正在运行Ubuntu17.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 不幸的是,

我正在运行Ubuntu17.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中,它声称诸如
setContentView()
之类的核心Android函数不存在,并不断提示我为它创建一个抽象函数——我显然不想这样做。但是,如果我点击build按钮,我会在8s内获得一个
构建成功

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

编辑:更新:我现在得到了有关该问题的更多信息,但仍未解决:

  • 构建->清理,然后构建->重建没有帮助
  • 文件->使缓存无效并重新启动也没有帮助
  • 手动梯度同步也不能
  • 用Java而不是Kotlin编写的另一个项目可以很好地工作
  • (它是开源的)
  • 退出演播室
  • Delete.idea/(在我看来这是最重要的)、build/、app/build目录
  • 启动工作室
  • 重新设置设置->构建->渐变设置(在我的例子中,最后一个稳定的渐变本地分布)
  • 清理和重建项目

  • 帮助我。

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

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

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

    在project build.gradle中,按照下面的代码更改版本(或者如果有更新的稳定版本)

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


    对我来说,这一步很有效:

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

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

    三) 它将要求您确认并单击“无效并重新启动”

    四) 转到构建>清理项目

    五) 转到生成>重建项目

    试试这个


    快乐的编码

    我尝试了这里提出的所有解决方案,但都不起作用。对我来说,有效的方法是禁用并重新启用Kotlin插件。

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

    只需在终端中运行:

    ./gradlew --stop
    ./gradlew --rerun-tasks assemble{flavour}
    
    例如:

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

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

    我尝试了以下对我无效的方法:

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

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

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

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

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

    有效的解决方案:

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

    删除
    导入android.R
    立即解决了问题,将其放回原处也立即重新创建了问题。

    希望这能帮助那些出于相同/相似原因而看到这篇文章的人

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

    我认为29.0.3版本有问题

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

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

    删除此行并尝试运行项目


    转到文件->使缓存无效/重新启动对我有效读到最后:)

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

    我从中升级了classpath

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

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

    我将其更改为以下格式:

    plugins{
        id 'com.android.application'
        id 'kotlin-android'
        id 'kotlin-android-extensions'
        id 'com.google.gms.google-services'
    }
    
    在此之后,缓存失效并重新启动,重建了项目,一切正常。
    令人惊讶的是,这个简单的零导致了一个巨大的错误。

    您是否将android gradle插件升级到了最新版本
    plugins{
        id 'com.android.application'
        id 'kotlin-android'
        id 'kotlin-android-extensions'
        id 'com.google.gms.google-services'
    }