java - 在运行时修改Android应用程序

标签 java android bytecode-manipulation

我正在尝试使用字节码修改在运行时修改 Android 应用程序。我知道可以修改在执行应用程序之前创建的 .class 文件,但我想在应用程序运行时修改它。我不确定这是否可能。我见过ASMDEX就像一个可能的工具来做到这一点,但它基于 Dalvik VM,我不知道它在 ART VM 中是否可以正常工作,我认为不行。事实上,我不太确定它可以在运行时修改应用程序。

是否可以使用字节码修改在运行时修改 Android 应用程序?如果可以,我该怎么做?

最佳答案

在 JVM 中,您可以使用 JavaAgents 来实现此目的,但由于 Android 使用 Dalvik,因此这不是一个选择。然而Android支持instrumentation 。您可以使用 onCreate()方法在加载之前修改应用程序。这可能需要 root 访问权限。

关于java - 在运行时修改Android应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43091637/

相关文章:

java - 使用ASM进行字节码分析

java - 在 spring 项目中注入(inject)库类作为依赖项

java - 如何在 SNMP 中遍历 OID

android - 即使按下后退按钮 android Flash 视频也会继续播放

android - 如何在 App Widget 中制作类似于 Google Play 音乐小部件中的自定义 View ?

android - 关于点赞系统(比如facebook点赞系统)使用myisam Mysql

java - 将不同的 Grizzly HttpHandler 绑定(bind)到不同的 NetworkListener

Java 读取具有特定模式的文件

Java 字节码操作库建议

java - 将方法的现有代码嵌入到 try-finally block 中