解压缩Java文件Android后的错误

时间:2013-12-27 09:43:44

标签: java android decompiling

我尝试对Java文件进行反编译,但是反编译给我的不是给出确切的代码,而是使用goto语句和标签的代码

现在我要提取已使用的代码。有人可以帮忙吗?

@Override
public int getItemViewType(int i)
{
    int j = 1;
    if (!displaySearchField || i != 0) goto _L2; else goto _L1
_L1:

    j = 0;
_L4:
    return j;
_L2:
    int k = i;
    if (displaySearchField)
    {
        k--;
    }
    if (!(items.get(k) instanceof Group))
    {
        continue; /* Loop/switch isn't completed */
    }
    if (displaySearchField) goto _L4; else goto _L3
_L3:
    return 0;
    if (!displaySearchField) goto _L4; else goto _L5
_L5:
    return 2;
}

2 个答案:

答案 0 :(得分:1)

永远不要相信反编译器的输出。即使它干净利落地编译。即使您可以针对原始版本和往返版本运行相同的单元测试套件,但结果相同。

永远不要尝试手动“修复”反编译代码的问题。如果你发现自己在想,“嗯,看起来几乎正确......我想我可以解决这个问题,”停止。不要那样做。

此致

编写反编译器的人。

答案 1 :(得分:0)

您不能使用反编译代码。编写代码后,编译代码时会添加一些代码 android也。当您反编译时,您将获得更改。所以你得到错误。