2013-02-11 42 views
0

我去年发布了一个android应用程序。最新版本的apk是3.2(最后修改日期是2012年5月26日),而我的源代码仅适用于2.8版本(最后修改于2012年5月15日)。我不确定我在2.8和3.2之间的代码中所做的更改。在不改变文件的最后修改日期的情况下解压android apk

因此我想到了解包最新的apk并确定更改。我已经使用APKtoJava_RC2工具来解压缩它。我可以获取源代码,但所有文件的最后修改日期都更改为当前时间。因此,我无法识别在2.8版本的apk之后更新的文件。

由于反编译器改变了大部分代码(变量名,常量...),我无法使用文件比较工具来识别反编译代码和2.8版源代码之间的文件更改。

要么我需要获取文件的原始上次修改日期,以便我可以手动比较2.8版本后更新的文件,或者将我的源代码与反编译的源代码进行比较的魔法工具。

我已经搜索网站了很多,带着希望来的StackOverflow会有一些人帮我:)

在此先感谢

+2

我认为你塞满了。下次使用版本控制系统。我知道这对你现在没有帮助,但这是我的最好建议。 – Clyde 2013-02-11 06:53:46

回答

0

使用version control system,最好one on the cloud,避免了这样的问题。此外,如果您使用IntelliJ IDEA之类的IDE,它会保留所做更改的本地历史记录,并允许您比较和合并不同版本的文件。

+0

谢谢大家。我正在使用ADT(以前的eclipse)和eGit进行版本控制系统。我保持版本,直到28,错过了更新最后几个版本的Git :(这是我的坏。 – sharmi 2013-02-21 00:46:00

0

您可以尝试反编译或反编译apk的两个版本并比较结果,而不是尝试与原始源代码进行比较。

+0

谢谢JesusFreke。我打算现在这样做,因为我没有选择 – sharmi 2013-02-21 00:50:29

相关问题