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