尝试使用Android Studio运行Kotlin Android项目成功编译并生成APK,但当Studio尝试在设备上安装APK时,安装将失败并显示INSTALL_FAILED_DEXOPT
。通过logcat查看我可以看到类似的消息:
12-13 22:43:57.219: ERROR/dalvikvm(1623): Out-of-order method_idx: 0x2bff then 0x2bff
12-13 22:43:57.219: ERROR/dalvikvm(1623): Trouble with item 897 @ offset 0x13e498
12-13 22:43:57.219: ERROR/dalvikvm(1623): Swap of section type 2006 failed
12-13 22:43:57.219: ERROR/dalvikvm(1623): ERROR: Byte swap + verify failed
12-13 22:43:57.230: ERROR/dalvikvm(1623): Optimization failed
该项目是使用Kotlin IDEA插件的自动转换从Java转换而来的。没有编译器警告。
答案 0 :(得分:6)
当方法名称与Kotlin生成的etter冲突时会发生这种情况,例如:
class Foo(val bar: Any) {
fun getBar(): Any {}
}
将bar
或getBar
重命名为其他内容。有关详细信息,请参阅http://youtrack.jetbrains.com/issue/KT-3170
答案 1 :(得分:0)
最近,在使用Kotlin 1.0.0-beta-1038
运行api 17的设备上发现了类似的问题。
要解决此问题,请使用新的测试版1.0.0-beta-1103
。