Kotlin图书馆' classes.jar'格式不受支持。请更新库或插件

时间:2015-06-02 18:36:40

标签: android android-studio kotlin

此消息显示在项目同步中。

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

我使用的是最新的插件版本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(金丝雀频道)。

3 个答案:

答案 0 :(得分:2)

看起来问题出在我的* .aar lib中,它包含在项目中 - 它是用旧版本的Kotlin编译的。我已将该库升级到最新的Kotlin版本,现在可以使用了。

答案 1 :(得分:1)

@ ookami.kb

提到的更新库解决了这个问题

关于错误消息...

当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进行开放式审核   确保我们没有错过任何重要的事情。

答案 2 :(得分:-1)

这是带有新插件版本的Kotlin bug