Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/196.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 自动更改/安装Android应用程序';s源代码_Java_Android_Jvm_Dalvik_Instrumentation - Fatal编程技术网

Java 自动更改/安装Android应用程序';s源代码

Java 自动更改/安装Android应用程序';s源代码,java,android,jvm,dalvik,instrumentation,Java,Android,Jvm,Dalvik,Instrumentation,我想自动转换Android应用程序的源代码,以便 所有类中的方法都包含另外两条指令 基本上,我想要的是插入应用程序的源代码,但是有一些 约束(例如,扩展活动的类需要不同的方法 在onCreate方法中) 我看到了,但显然这个框架是为了操纵 JVM字节码,Android使用Dalvik虚拟机,所以它无法工作 有人知道我可以用于此目的的框架或工具吗? 谢谢!:) ASM的作者提供了一个类似于ASM的字节码库。顺便说一下,ASM的2.0版本已经很旧了。版本号为4,其中5处于测试状态 然而,在我看来,您

我想自动转换Android应用程序的源代码,以便 所有类中的方法都包含另外两条指令

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

我看到了,但显然这个框架是为了操纵 JVM字节码,Android使用Dalvik虚拟机,所以它无法工作

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

ASM的作者提供了一个类似于ASM的字节码库。顺便说一下,ASM的2.0版本已经很旧了。版本号为4,其中5处于测试状态

然而,在我看来,您不应该在运行时应用此工具。当您也可以在编译时生成此代码时,通常不应使用运行时字节码生成。仪器是一个相当沉重的工具


相反,也许源代码生成是您的一个选择?或者你的问题可以通过简单的应用程序来解决?您还可以查看或类似的工具,以便在应用程序中应用。

您可以查看库。它允许读取/修改/写入dex文件。例如,

您有多少类/方法?您想要添加的“两条指令”是什么?目标是使任何数量的类/方法都能做到这一点。我要添加的两条指令是同一方法的两个调用,参数值不同。您使用的是特定的IDE吗?看起来您可能想做一些事情,从任何实时代码创建一个副本/插入指令的版本。。是的,这正是我想要的:)第二个版本,从第一个版本复制,经过修改。我正在研究Eclipse。如果你正在使用Eclipse,你可能需要考虑一个Eclipse插件,它使用一个语法识别器来查找方法并对它们进行检测。听起来很容易。。但是有这么多的代码变体(你必须使用静态引用,使用反射来查看你的位置…?)谢谢你的帮助:)如果我确切地知道我正在处理的类/方法,模板方法模式将是有用的,但是我想让这个通用的,适用于任何应用程序。不过,我会看看ASMDEX框架或勺子是否适合我的需要。谢谢你的帮助!但是我在哪里可以了解更多关于这个图书馆的信息呢?