代码之家  ›  专栏  ›  技术社区  ›  You Qi

Kotlin停止识别对象标记

  •  0
  • You Qi  · 技术社区  · 7 年前

    我升级了androidstudio,现在我的项目无法编译。

    我在打 org.jetbrains.kotlin.util.KotlinFrontEndException: Exception while analyzing expression at (23,34) in .../SomeFragment.kt

    var amounts: MutableList<Int?> = object : ArrayList<Int?>() {
         init {
             add(50)
             add(100)
             add(150)
             add(null)
         }
     }
    

    这是在抱怨 object 标签。正在更改为

    var amounts: MutableList<Int?> = arrayListOf(50, 100, 150, null)

    工作正常,但我有很多我的其他*.kt文件使用这个 object : 在初始化中。

    Android Studio 3.1.4
    Build #AI-173.4907809, built on July 24, 2018
    JRE: 1.8.0_152-release-1024-b02 amd64
    JVM: OpenJDK 64-Bit Server VM by JetBrains s.r.o
    Windows 10 10.0
    

    更新

    Tools > Kotlin > Kotlin Updates ,我已经在用最新的kotlin了 1.2.61-release-Studio3.1-1 .

    • 与文件系统同步,
    • 将项目与Gradle文件同步,
    • 清理项目和重建项目,
    • 重启Android Studio
    • 远离的 .git , .gradle ,和 .idea 在项目目录中,
    • ~/.AndroidStudio3.1
    • 远离的 ~/.android

    但无济于事。

    2 回复  |  直到 7 年前
        1
  •  0
  •   Jitendra A    7 年前
    1. 升级至Kotlin的最新版本
    2. 执行干净的重建,因为这可能是由增量生成引起的。
        2
  •  0
  •   You Qi    7 年前

    通过移除 ~/.gradle C:\Users\{User}\.gradle 在Windows 10中)