2017-06-09 9 views
4

Je construis un système « intégré », basé sur Android, et pour le moment je suis en train de mettre en œuvre la mise à jour du firmware d'un module audio.
Il y a un binaire qui fait, mais la prise est qu'il a besoin d'un accès root pour le faire (il ne peut pas accéder GPIO autrement).
Le problème est maintenant déplacé à donner l'exécutable (et juste que l'exécutable, ne doit pas faire racine complète) un accès root.
Je suis là depuis quelques jours et j'ai essayé plein de choses, sans succès.
choses que j'ai déjà essayé:AOSP - Comment faire fonctionner un exécutable avec un accès root?

Je n'ai plus d'idées ou de choses à essayer. Que puis-je faire d'autre ?

EDIT
je n'étais pas en mesure de faire fonctionner binaire en tant que root, mais a été en mesure d'exécuter un script shell après le démarrage de init.rc, où il y a un accès root et exporter/modifier les autorisations du gpio spécifique dont j'avais besoin. Cela a permis d'y accéder sans l'accès root nécessaire plus tard.

+0

Je ne suis pas un expert linux mais avez-vous essayé de changer simplement le propriétaire de votre exécutable (chown) à la racine via un fichier init.rc? – IIIIIIIIIIIIIIIIIIIIII

+0

Vérifiez le premier point. Ajouter l'entrée à android_filesystem_config.h fait que la racine soit le propriétaire. ls -l pour cela retourne: "-rwsr-sr-x root root" –

Répondre

-1

Vous pouvez commencer votre application ou d'un service, ou exécutable à partir init.rc.

+0

Je ne trouve rien sur le document sur la façon de démarrer une application. De plus, l'exécutable doit être utilisé plus tard après le démarrage du système d'exploitation, il est donc inutile de l'exécuter maintenant. Cela laisse le service? Est-ce un service Java System régulier? Parce que basé sur le lien sur ma question je sais comment faire un service système sur le côté java, mais pas du côté natif? Je vous remercie): –