2009-06-01 10 views
5

Ich möchte Opcodes direkt von der laufenden Dalvik VM-Instanz aus meiner Anwendung heraus auf Android ausführen. Ich suche nach etwas, das der C asm Funktion ähnlich ist. Ich habe eine Liste von Opcodes für Dalvik, aber ich bin nicht vertraut mit, wie man sie entweder direkt ausführt oder sie in .class-Dateien schreibt und sie gegen eine Art von VM-CLI-Befehl wie dalvikvm in einer laufenden Anwendung ausführt.Wie führe ich Dalvik Op-Codes aus?

Antwort

4

ist nicht möglich. Weitere Informationen finden Sie in der Google IO 2008-Präsentation auf youtube über die Dalvik-Interna. Mobile VMs, die sowohl Java als auch MS .NET enthalten, sind keine vollständigen VMs und lassen aufgrund von Speicher- und Leistungseinschränkungen Teile aus, die das ausführen, was Sie beschrieben haben.

+0

Als ich weiter hinein gegraben habe, sehe ich, dass dies leider wahr ist ... Danke! –

+0

ja, leider .. –

+0

[Ich habe das ursprünglich als separate Antwort gepostet, bevor ich Kommentare hatte.] Sie benötigen keinen root-Zugang, um Dex-Dateien zu laden. Es gibt eine Systemklasse, dalvik.system.DexClassLoader, die so aufgebaut ist, dass sie das Laden von Dex-Dateien relativ einfach macht. – danfuzz