2009-06-01 7 views
5

Je voudrais exécuter des opcodes directement sur l'instance de la machine Dalvik en cours depuis mon application sur Android. Je cherche quelque chose de similaire à la fonction C asm. J'ai une liste d'opcodes pour dalvik, mais je ne suis pas familier avec la façon de les exécuter directement, ou de les écrire dans des fichiers .class et de les exécuter sur une sorte de commande VM CLI comme dalvikvm depuis une application en cours.Comment exécuter les codes Op Dalvik

Répondre

4

ce n'est pas possible. Voir la présentation de Google IO 2008 sur youtube à propos des internes de Dalvik pour plus de détails. Les machines virtuelles mobiles, y compris Java et MS .NET, ne sont pas des machines virtuelles complètes. En raison de contraintes de mémoire et de performances, les pièces qui permettent d'accomplir ce que vous avez décrit ne sont donc pas disponibles.

+0

Comme je l'ai creusé plus loin, je vois que c'est malheureusement vrai ... Merci! –

+0

oui, malheureusement .. –

+0

[J'ai d'abord posté cela comme une réponse séparée, avant que je n'avais des droits de commentaire.] Vous n'avez pas besoin d'accès root pour charger les fichiers dex. Il existe une classe système, dalvik.system.DexClassLoader, qui est conçue pour simplifier le chargement des fichiers dex. – danfuzz

Questions connexes