2017-02-10 3 views
2

Je sais qu'il est possible d'exécuter pur dext bytecode sur une ligne de commande Android via /system/bin/dalvikvm, mais je me demande s'il est possible d'exécuter des fichiers OAT à partir de la ligne de commande?Est-il possible d'exécuter des fichiers OAT/ELF à partir de la ligne de commande sur Android?

Comme il s'agit d'un fichier objet ELF partagé, il doit être démarré via zygote je suppose. Peut-être que c'est possible avec app_process, mais je ne sais pas si et comment.

Quelqu'un peut-il m'aider?

Répondre

0

Un fichier .oat en lui-même n'est pas une application complète. boot.oat qui contient le tas initialisé est également nécessaire pour le processus de l'application, tout comme boot.art. Zygote, comme vous l'avez dit, l'application app_process a déjà ces pages. Zygote est en attente d'une requête sur le socket/dev/socket/zygote pour recevoir les demandes de lancement d'application. Vous pouvez regarder dans la source AOSP pour savoir quelles informations sont écrites sur ce socket par le lanceur pour lancer l'application et comment cette information communique sur le fichier .oat de l'application.