1 votes

Le service Init ne démarre pas dans le build utilisateur

J'ai un service init qui ne démarre pas dans la version utilisateur. Lors de l'exécution d'un build userdebug, il fonctionne bien mais pas dans le build utilisateur. Je n'arrive pas à comprendre pourquoi il ne fonctionne pas. Je ne vois pas non plus d'erreur à ce sujet dans logcat.

on property:myprop=1
    start mysvc

service mysvc /system/bin/mybinary myargs
    user system
    group system
    oneshot

Mon application définit cette propriété lorsque je veux que le service démarre.

Toute aide est la bienvenue.

0 votes

Est /data/logs/ accessible à system UID pour l'écriture ? Quel est le contexte SELinux du service ? Peut-il accéder à /data/logs/ ? Voir le journal du noyau pour init services.

0 votes

Oui, system UID a accès au dossier, c'est pourquoi il fonctionne dans le build userdebug. Je ne m'inquiète pas pour SELinux pour l'instant ; ma compilation est exécutée en mode permissif.

0 votes

J'ai jeté un coup d'oeil au journal du noyau et il n'y a rien non plus. Ma propriété myprop est défini de manière appropriée mais le service n'est pas en cours d'exécution.

1voto

Chef Pharaoh Points 111

Le problème était le contexte SELinux sous lequel le processus était exécuté. J'ai pu le résoudre en marquant l'option seclabel de mon service init.

on property:myprop=1
    start mysvc

service mysvc /system/bin/mybinary myargs
    user system
    group system
    oneshot
    seclabel u:r:su:s0

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