0 votes

Où sont installés les binaires ?

J'ai récemment enraciné mon téléphone pour pouvoir installer SL4A. Je veux exécuter certaines commandes via un script Python, en particulier désactiver Google Voice pour tous les appels, passer l'appel, puis le réactiver. Je suppose que j'ai besoin d'accéder au binaire, mais il ne semble pas y avoir de dossier /bin/, alors où sont installées mes applications ? (p.s. La recherche depuis mon navigateur mobile ne fonctionne pas sur SE donc si c'est un doublon, merci de m'envoyer un lien et je supprimerai la question).

3voto

Matthew Read Points 50150

Les applications Android ne sont pas des binaires. Ce sont des fichiers .apk, similaires aux fichiers Java .jar, et aux fichiers .dex ou .odex lorsqu'ils sont en bytecode. Elles sont exécutées dans la machine virtuelle Dalvik, encore une fois très similaire à une machine virtuelle Java.

Vous pouvez lancer une application à partir d'un shell comme suit :

am start -a android.intent.action.MAIN -n <package name>/<activity name>

Par exemple, Angry Birds :

am start -a android.intent.action.MAIN -n com.rovio.angrybirds/com.rovio.ka3d.app

Le nom de l'activité se trouve dans le fichier AndroidManifest.xml à l'intérieur du fichier .apk, sous //manifest/application/activity/@name. Pour Google Voice, il y a pas mal d'activités, et vous devrez peut-être utiliser d'autres intents. Je n'ai pas SL4A.

Vous pouvez également désactiver temporairement des applications grâce à cette fonction :

pm disable <package name>

Et réactivez :

pm enable <package name>

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X