android studio中的Kotlin插件错误

时间:2015-10-14 15:20:03

标签: android android-studio kotlin

我试图为android studio设置kotlin插件并关注this guide。一切都编译得很好,我可以在我的项目中使用.kt个文件。但是,在每个kotlin文件中,android-studio都说如下:

  

Kotlin library' compiler-1.0-rc1.jar'格式不受支持。请更新库或插件

如何删除此警告/错误?

这是我的顶级build.gradle

buildscript {
    repositories {
        mavenCentral()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:1.3.0'
        classpath 'me.tatarka:gradle-retrolambda:3.2.3'
        classpath "com.android.databinding:dataBinder:1.0-rc1"
        classpath 'org.jetbrains.kotlin:kotlin-gradle-plugin:0.14.449'
    }
}

allprojects {
    repositories {
        mavenCentral()
        jcenter()
    }
}

以下是build.gradle目录中的app

apply plugin: 'com.android.application'
apply plugin: 'kotlin-android'

android {

    //Ommited for brevity

    sourceSets {
        main.java.srcDirs += 'src/main/kotlin'
    }
}

dependencies {
    compile 'org.jetbrains.kotlin:kotlin-stdlib:0.14.449'
}

我正在使用Android studio 1.4,
buildToolsVersion 23.0.1,
Android studio kotlin插件版本0.14.449.Idea141.12

2 个答案:

答案 0 :(得分:2)

数据绑定库的当前版本使用kotlin。我相信您看到的消息是因为该库使用的是kotlin版本0.12.613。

reddit对此进行了一些讨论。

您可以尝试更新到最新版本的数据绑定库1.0-rc4,看看他们是否已更新到M14。

答案 1 :(得分:1)

其他答案涵盖了此特定库的基础知识。但总的来说:

关于错误消息...

"不支持的格式"当Kotlin创建的类文件的ABI版本号与Kotlin编译器使用的预期版本号不匹配时出现错误。这不再是Kotlin 1.0 Betas的问题,因为ABI号码不会再次改变为1.0。但是,将有一个强制重新编译1.0版本候选版本,以确保没有旧的编译器错误影响库或代码,一切都重建清洁。之后不会出现这样的问题。

因此,如果某个库不是同一个ABI的最新版本,或者是最后一次" 1.0重新编译"你可能会遇到类似的错误。解决方案始终是找到更新的库。

Kotlin 1.0 Beta 4 announcement"下一步"部分:

  

在Beta期结束后,会有一个RC然后是1.0。

     

我们真的想确保没有编译的代码   预发布版本的Kotlin在1.0之后保持不变,所以RC   编译器将强制重新编译所有旧代码。我们会   与JetBrains以外的图书馆维护人员协调以确保   所有广泛使用的库都会及时重新编译。

     

我们也将借此机会删除一些遗产:

     
      
  • 删除我们在发展图书馆过程中积累的所有弃用
  •   
  • 从生成的代码中删除所有弃用(您可能没有听说过这些,但它们存在!),
  •   
  • 摆脱了测试期间发现的一些遗留字节码特性,
  •   
  • 移动一些stdlib代码,以便包含那些包   更多结构。
  •   
     

在那之后,唯一兼容的变化了   标准库是弃用和添加(不包括   反思API)。我们正在对库API进行开放式审核   确保我们没有错过任何重要的事情。