部分失败的Android反编译包含怪异的int:655360x10000,float:9.18355E-41

问题描述

我已经使用APKTool和JadX反编译了一个应用程序,并且我试图手动恢复一些未正确反编译的点。到目前为止,它运行缓慢但稳定,我已经修复了所有其他问题。但是,我对以下行感到困惑:

r2 = 65536(0x10000,float:9.18355E-41)

我知道它应该是int,因为那是我要传递给它的函数的签名。但是,如何推断该常数的值呢?

我只能通过谷歌搜索找到其他反编译转储,没有关于它的真实值或如何计算的线索。

解决方法

就像Joachim Suaer那样,它只是编译器不确定是常量还是浮点数的常量值。