自动更改/检测Android应用程序的源代码

时间:2014-03-06 15:12:37

标签: java android jvm dalvik instrumentation

我想自动转换Android应用程序的源代码以便全部转换 所有类中的方法都包含两个指令。

基本上,我想要的是检测应用程序的源代码,但有一些 约束(例如,扩展活动的类需要不同的方法 在onCreate方法中。)

我看到ASM 2.0 Framework,但显然这个框架旨在操纵 JVM字节码和Android使用Dalvik虚拟机,所以它不起作用......

有谁知道我可以用于此目的的框架或工具? 谢谢! :)

2 个答案:

答案 0 :(得分:1)

ASM的作者提供类似于deals with Android's DEX format的ASM的字节码库。顺便说一下,2.0版ASM很老了。 current版本号为4,其中5为处于测试状态。

但是对我来说听起来好像你不应该在运行时应用这个仪器。当您还可以在编译时生成此代码时,通常不应使用运行时字节代码生成。仪表是一个非常重要的工具。

相反,源代码生成可能是您的选择吗?或者也许你的问题解决就像申请template method pattern一样简单?您也可以查看Java compiler APISpoon中可以应用于build process的工具。

答案 1 :(得分:0)

您可以查看dexlib2库。它允许读取/修改/编写dex文件。例如,https://gist.github.com/JesusFreke/6945806