Kotlin类NoClassDefFoundError崩溃

我有一个现有的Android项目,使用以下库:

  1. AutoValue
  2. Dagger2
  3. RxJava
  4. Retrolambda

我正在尝试添加Kotlin支持,以便我可以将项目慢慢迁移到Kotlin。 这是我所做的。

  1. 增加了Kotlin依赖。
  2. 将其中一个类转换为Kt类并移至src/main/kotlin/..package..

  3. 源集中添加了kotlin。 sourceSets {main.java.srcDirs + =’src / main / kotlin’}

  4. 当我做一个干净的生成和部署应用程序,我得到NoClassDefFoundErrorexception。 但是,如果我再次部署它工作得很好。 有什么建议么? 我在课堂上没有任何注释,所以我没有申请kapt插件。

注意:我正在使用最新的kotlin 1.0.4。 我也有即时运行禁用。

3 Solutions collect form web for “Kotlin类NoClassDefFoundError崩溃”

转到Files > Settings并完全关闭Instant Run ,我的意思是所有checkbox应该取消选中。

清理和重建项目。

那么它应该工作

编辑:正如你所说,即时是禁用的 – 使用protip检查您的配置,并更新Gradle和Android Studio,如果你不使用最新的。

根据这个问题 ,将Gradle插件版本从2.10改为2.14.1可能会有所帮助。

Protip:使用组合Ctrl + Shift + A来查找类似的命令

  • Configure Kotlin in Project

  • Configure Kotlin Updates

  • Convert Java File to Kotlin

首先你需要用kotlin配置你的android studio,为此需要在android studio中添加kotlin插件,然后需要添加依赖关系,然后将java类转换为kotlin,请看看这个video。

https://www.youtube.com/watch?v=DN2EDdycZ3c

从Java调用它们后缀ktlin类。

否则,请在Kotlin类的包之前添加@file:JvmName("Utils") ,如果您必须在java中调用它,并使用您希望Utils任何自定义名称。

更多详情可在这find

  • Kotlin:如何将数据从RecyclerView适配器发送到片段
  • 使用伴随对象在Kotlin中返回类的一个实例
  • Kotlin的@Parcelize在writeToParcel()上抛出NPE
  • 无法用匕首2运行kotlin
  • 适用于Android的Kotlin。 烤面包
  • Android Kotlin - 如何使java builder setter方法
  • Kotlin:如何将对象列表插入房间?
  • 如何使用自定义的类对象在android中的onCreate()中使用正确实现lateinit避免“属性获取或设置器预期”错误
  • 更好的方式来格式货币输入editText?
  • 在Kotlin的构造函数中为参数添加一个私有修饰符有什么不同?
  • 将android hashmap转换为kotlin
  • Kotlin language will be the best programming language for Android.