Kotlin库’classes.jar’具有不受支持的格式。 请更新库或插件

此消息出现在项目同步上。

我试图清理和重建项目,但没有成功。

我正在使用最新的插件版本0.12.275,“org.jetbrains.kotlin:kotlin-gradle-plugin:0.12.213”和“org.jetbrains.kotlin:kotlin-stdlib:0.12.213”

我已经试过稳定版本0.12.200插件和库,但我得到了同样的错误。

我正在使用Android Studio AI-141.1972460(金丝雀频道)。

看起来问题出在我的* .aar库中,包含在项目中 – 它是用旧版本的Kotlin编译的。 我已经升级了库文件到最新的Kotlin版本,现在它工作。

用@ ookami.kb提到的更新后的库解决了这个问题

关于错误消息…

当Kotlin创建的类文件的ABI版本号与Kotlin编译器使用的期望值不匹配时,出现“不支持的格式”错误。 这不再是Kotlin 1.0 Betas的一个问题,因为ABI号码不会再改变1.0。 但是,在1.0版本的候选版本中会有一个强制重新编译,以确保没有旧的编译器错误影响库或代码,并且所有内容都被重建为干净的。 之后就不存在这样的问题了。

因此,如果一个库不是最新的ABI,或者最后一个“1.0重新编译”,你可能会遇到类似的错误。 解决方案总是find更新的库。

更多关于Kotlin 1.0 Beta 4公告 “下一步”部分的内容:

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

我们确实希望确保在1.0之前没有使用预发布版本的Kotlin编译的代码,因此RC编译器将强制重新编译所有旧代码。 我们将与JetBrains之外的图书馆维护人员进行协调,以确保所有广泛使用的图书馆能够及时重新编译。

在这一点上,我们也将借此机会删除一些遗产:

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

之后,标准库的唯一兼容更改是弃用和添加(这不包括reflectionAPI)。 我们正在对图书馆API进行一次公开审查,以确保我们没有漏掉任何重要的东西。

这是新的插件版本的Kotlin错误