2 votes

Modifier AOSP pour exécuter une commande shell spécifique au démarrage dans Android 6.0

J'essaie de modifier l'AOSP pour qu'il exécute une commande shell spécifique au démarrage.

J'ai essayé de modifier init.rc en system/core/rootdir/ pour exécuter une commande au démarrage, mais je n'ai pas réussi à la faire fonctionner.

Je sais que je devrais utiliser l'exécution et j'ai donc essayé toutes ces variantes, mais aucune n'a fonctionné pour moi :

exec mkdir /data/local/tmp/test_directory
exec "mkdir /data/local/tmp/test_directory2"
exec -- mkdir /data/local/tmp/test_directory3
exec -- "mkdir /data/local/tmp/test_directory4"

J'ai également essayé toutes les solutions sur cette page sur Android 6.0 sans succès.

Quelqu'un a-t-il une idée de ce que je fais mal ?

0voto

Guillermo Gomez Points 423

Vous devez récupérer le code source, modifier init.rc et le recompiler. Le rootfs d'Android est "rafraîchi" à chaque fois que l'appareil démarre, il n'est donc pas utile d'éditer init.rc directement sur votre appareil.
Toutefois, il existe d'autres approches, et c'est celle que j'utilise actuellement.
Trouvez un service système dont vous n'avez probablement pas besoin, qui est la plupart du temps debuggerd . Localiser son binaire à /system/bin/debuggerd renommez-le en quelque chose comme debuggerd.bak et placez votre script shell à cet endroit. Ensuite, dans un shell, exécutez

start debuggerd

et redémarrer. Votre script shell sera exécuté toutes les 5 secondes après la fin de la tâche précédente. Il est recommandé d'ajouter une boucle de sommeil à la fin de votre script si vous souhaitez qu'il ne soit exécuté qu'une seule fois par démarrage.

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