kotlin转java后出错(kotlin文件怎么转java)
kotlin java.lang.noclassdeffounderror怎么解决
找不到类,少jar包啊。把这个类的全路径复制出来搜索 找到对应的jar包,添加到项目里就可以了。
用kotlin写的同一个jar程序,在windows上正常运行,放到linux上就运行失败
kotlinc KotlinDemo.kt -include-runtime -d KotlinDemo.jar
注:指令解释
kotlinc: 编译指令,类似于java中的javac
KotlinDemo.kt:当前要编译的kt文件
-include-runtime: 引入kotlin libary,使的输出的jar文件是是自包含且可以运行的
-d:输出目录,没指定为当前目录
KotlinDemo.jar:生成jar文件
kotlin使用时遇到的问题(一)
一.当创建android项目时,默认是java形式的activity,如果想要使用kotlin,就要将某个activity转换为kotlin形式的。
使当前窗口显示的界面是要转换的界面,点击code--convert Java File to Kotlin File
转换完毕后界面就变成了kotlin形式
二.查看build.gradle中并没有出现kotlin的配置,这时可以运行下项目,然后就会在activity的右上角出现configure,点击configure就可以配置kotlin应用范围和版本了。
选择配置
点击ok 等待自动配置kotlin,配置完毕后根build.gradle下后出现
module下的build.gradle会出现
三.运行时报错 unresolved reference kotlinx
这是因为没有添加kotlin的相关插件
在app的build.gradle下添加
apply plugin: 'kotlin-android-extensions'
四.因为使用kotlin之后,不需要再写findViewById(),需要用到
而这个包是在kotlin的extensions插件下。

Kotlin & 'onConfigurationChanged' overrides nothing
编译项目报错:
但是这个方法是根据 AndroidStudio 自动补全功能,直接自动补全的
原因还是 Java 转 Kotlin 的类型转化导致的,由于Kotlin 版本兼容问题,平台类型转为可空类型时出错。
去掉 可空类型符号 ? 就好了。
同理,遇到类似问题,可以去掉或者添加 可空类型符号 ? ,看问题能否解决。
Android Kotlin 反射使用 (null receiver 异常问题)
最近在使用Kotlin反射遇到些问题,总结一下:
报错:java.lang.NullPointerException: null receiver
原来写法: (直接从Java转的Kotlin)
会报错java.lang.NullPointerException: null receiver
查阅资料后发现是因为kotlin的object是单例模式,所以不先实例化是会报错的,所以做了如下修改
至此可正常反射调用到start方法
欢迎大家留言讨论
kotlin错误The archive: /HelloWorld/kotlin_bin which is referenced by the classpath, does not exist
可能环境没配置好吧,开发kotlin不建议使用eclipse,没有语法提示,使用idea吧