我有一个使用以下库的现有
Android项目:
> Autovalue
> Dagger2
> RxJava
> Retrolambda
我正在尝试添加Kotlin支持,以便我可以将项目慢慢迁移到Kotlin.
这就是我所做的.
>添加了Kotlin依赖.
>将其中一个类转换为Kt类并转移到src / main / kotlin / ..包中.
>在源集中添加了kotlin.
sourceSets {
main.java.srcDirs =’src / main / kotlin’
}
>当我进行干净的构建并部署应用程序时,我得到NoClassDefFoundError异常.但是,如果我再次部署它可以正常工作.
有什么建议?我在转换的类中没有任何注释,所以我没有应用kapt插件.
注意:我使用的是最新的kotlin 1.0.4.我也禁用了即时运行.
解决方法
转到文件>设置并完全关闭即时运行,我的意思是所有复选框都应该取消选中.
清理和重建项目.
然后它应该工作
编辑:正如您所说,Instant已被禁用 – 使用protip检查您的配置并更新Gradle和Android Studio,如果您没有使用最新版本.
根据这个issue,将Gradle插件版本从2.10更改为2.14.1可能会有所帮助.
专家提示:
使用组合Ctrl Shift A查找命令
>在Project中配置Kotlin>配置Kotlin更新>将Java文件转换为Kotlin