8

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

  1. 自动值
  2. 匕首2
  3. RxJava
  4. 复古λ

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

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

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

  4. 当我进行干净的构建和部署应用程序时,我得到 NoClassDefFoundError 异常。但是,如果我再次部署它就可以了。有什么建议么?我转换的类中没有任何注释,所以我没有应用kapt插件。

注意:我使用的是最新的 kotlin 1.0.4。我也禁用了即时运行。

4

3 回答 3

4

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

清理并重建项目。

然后它应该工作

编辑:正如您所说,Instant 已禁用 -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

于 2016-09-23T17:24:56.653 回答
0

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

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

于 2017-07-13T18:24:57.933 回答
0

kt从 Java 调用Kotlin 类时,为它们添加后缀。

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

更多详情可在这找到

于 2017-08-29T13:25:05.503 回答