Je veux excute un fichier exécutable au démarrage Sur une carte cible avec Android 5.1 donc j'ajouter ceci init.rc:init warning: Service myservice nécessite un domaine SELinux défini. S'il vous plaît fixer
on boot
start myservice
service myservice /system/bin/myservice
#class main
user root
group root
#oneshot
J'ai fait le déballer et remballer travail.
Lorsque des modifications sont apportées, cependant, l'écran conserve l'impression:
init warning: Service myservice needs a SELinux domain defined. Please fix.
type=1400 ... avc:denied ... scontext ... tcontext ... #some annoying warning messages like this
SELinux semble un projet énorme pour moi. Je veux juste éviter ça. J'ai essayé deux approches:
1. setenv kernelargs 'console=ttyS0,115200n8 rootdelay=1 selinux=0' and saveenv
2. set enforce 0
Pour la méthode 1, printenv
donne le résultat:
kernelargs=console=ttyS0,115200n8 rootdelay=1 selinux=0
Vous voyez, des changements ont été apportés. Mais les messages d'avertissement continuent d'imprimer après le redémarrage.
Pour la méthode 2, il est dit:
Could not set enforce status. Permission denied.
Alors maintenant, je suis coincé dans le Dilema ont aucune idée où aller. Mes questions:
-
- Tout le monde sait comment désactiver ou définir le mode permissif dans Android?
-
- Quels fichiers dois-je modifier si je veux définir domaine pour le nouveau service?
Par ailleurs, ls -Z /system/bin/myservice
donne ceci:
u:object_r:system_file:s0
Depuis mon nom d'utilisateur est root, je pense que j'ai le privilège racine. Mon collègue m'a dit que j'avais encore besoin de su. Après su, j'ai réussi à définir le mode permissif. Alors que pour un autre problème, il me semble que définir un nouveau domaine est tellement un problème: le code source devrait être modifié et android devrait être recompilé. Et mon projet entier devrait être recompilé. – dudu