J'ai fait des recherches sur les questions précédentes concernant ce sujet, mais malheureusement rien n'a fonctionné.
J'essaie de désactiver la barre d'état des utilisateurs qui glissent du haut de l'appareil au démarrage avec cette commande à la console adb (qui sera réactivée si vous redémarrez le téléphone, les changements sont abandonnés après le redémarrage) :
service call activity 42 s16 com.android.systemui
de sorte que lorsque mon application démarre, ils ne peuvent pas glisser du haut vers le bas pour voir la barre d'état. J'ai placé cette ligne dans un script appelé init_remove.sh avec des lignes en dessous :
#!/system/bin/sh
service call activity 42 s16 com.android.systemui
A chaque fois que l'utilisateur redémarre son téléphone, je veux que le fichier init.rc démarre un service pour exécuter ce script à chaque fois. J'ai ajouté ces lignes de code à la fin du fichier init.rc fichier :
# service to remove status bar
service init_remove /system/etc/init_remove.sh
user root
oneshot
J'ai ensuite recompilé le uramdisk.img et l'a poussé sur mon appareil enraciné. Le nouveau init.rc peut être vu avec les changements ajoutés mais je peux toujours glisser du haut vers le bas pour voir la barre d'état.
Qu'est-ce que je fais mal ?
EDIT : J'ai même essayé ceci dans le fichier init.rc pour démarrer mon service à partir de la suggestion ci-dessous :
on property:init.svc.zygote=running
start init_remove
on property:init.svc.servicemanager=running
start init_remove
.
.
.
mais toujours pas de changement... mes déclencheurs de propriété sont-ils mauvais ?
MODIFIER 2 JOURS PLUS TARD :
Maintenant, je sais que mon service est remarqué lorsque init est en cours d'exécution, mais qu'il ne peut pas être exécuté en raison de problèmes de permissions, comme indiqué ci-dessous :
init: cannot execve('/system/bin/myscript'): Permission denied
comme le montre la sortie sur la console. Mon nouveau service mis à jour dans le init.rc :
on boot
start myscript
service myscript /system/bin/myscript
user system
disabled
oneshot
J'ai exécuté le service en tant que système puisqu'il est censé avoir les permissions rw, et execute : mais il ne peut toujours pas s'exécuter. Ce que je pense être le problème est que le point de montage du système de fichiers est listé en lecture seule, vu par la commande mount :
/ $ mount
rootfs / rootfs rw,relatime 0 0
tmpfs /dev tmpfs rw,seclabel,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,seclabel,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,seclabel,relatime 0 0
selinuxfs /sys/fs/selinux selinuxfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
none /sys/fs/cgroup tmpfs rw,seclabel,relatime,mode=750,gid=1000 0 0
tmpfs /mnt/secure tmpfs rw,seclabel,relatime,mode=700 0 0
tmpfs /mnt/asec tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,seclabel,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/shm tmpfs rw,seclabel,relatime,size=1024k,mode=775,uid=1013,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
pstore /sys/fs/pstore pstore rw,relatime 0 0
/dev/block/mmcblk3p1 /boot vfat rw,noatime,nodiratime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
/dev/block/mmcblk3p2 /recovery vfat rw,noatime,nodiratime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=iso8859-1,shortname=mixed,errors=remount-ro 0 0
/dev/block/mmcblk3p5 /system ext4 ro,seclabel,relatime,data=ordered 0 0
/dev/block/mmcblk3p4 /data ext4 rw,seclabel,nosuid,nodev,noatime,nodiratime,noauto_da_alloc,errors=panic,data=ordered 0 0
/dev/block/mmcblk3p6 /cache ext4 rw,seclabel,nosuid,nodev,relatime,data=ordered 0 0
/dev/block/mmcblk3p7 /device ext4 ro,seclabel,nosuid,nodev,relatime,data=ordered 0 0
adb /dev/usb-ffs/adb functionfs rw,relatime 0 0
none /sys/kernel/debug debugfs rw,relatime 0 0
/dev/fuse /mnt/shell/emulated fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
/dev/block/vold/179:1 /mnt/media_rw/extsd vfat rw,dirsync,nosuid,nodev,noexec,relatime,uid=1023,gid=1023,fmask=0007,dmask=0007,allow_utime=0020,codepage=437,iocharset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/fuse /storage/extsd fuse rw,nosuid,nodev,relatime,user_id=1023,group_id=1023,default_permissions,allow_other 0 0
Mais je n'arrive pas à trouver où dans le fichier init.rc je peux définir la partition que le système de fichiers /system à rw (et exécuter) quand il se monte.