关于反编译 kotlin 的问题
来源:12-2 案例:仿官方框架实现 launch 2

xxxxjase普通
2020-10-16
我找到两种反编译 kotlin 的方法:
1、在 kotlin 的源码,通过 AndroidStudio 的 Tools -> Kotlin -> show kotlin bytecode -> decompile
2、将生成的 apk,通过 jadx 查看 java 代码
发现生成的 java 代码不一样
以那个为准呢??下面是代码例子:
Log.d("coroutineScope", "start")
try {
coroutineScope{
Log.d("coroutineScope", "launch-start")
launch {
Log.d("coroutineScope", "launch-middle")
}
Log.d("coroutineScope", "launch-end")
}
} catch (e: Exception) {
Log.d("coroutineScope", "end")
}
写回答
1回答
-
bennyhuo
2020-10-16
反编译的代码不一样,那不是很正常么= =、、不过逻辑应该是差不多的。
另外,要明白一点,反编译只能用来参考,反编译的代码不能与原代码等价,代码编译之后会丢失一些信息,反编译之后就没有了。还有,不同的编译器版本反编译的结果也不同。
062020-10-16
相似问题