Resolución de problemas con la secuencia de comandos Init.d

Estoy tratando de ejecutar un script init.d cuando mi rom se inicia para deshabilitar los servicios del sistema y no se están ejecutando.

El guion es el siguiente

#!/system/bin/sh
su -c pm disable com.google.android.gms/.update.SystemupdateService
su -c pm disable com.google.android.gms/.update.SystemUpdateGcmTaskService

Puedo confirmar que los comandos normales de desactivación de pm funcionan para desactivar aplicaciones que no son del sistema. Así que sospecho que algo no estoy haciendo bien con sus privilegios.

¿Configuró los permisos correctos (0755, rwxr-xr-x) en el script?
Sí, la cocina aplica los permisos correspondientes o, si no, la cocina, la propia rom cuando arranca. Puedo intentar hacer uno desde cero y probarlo en mi dd. Estoy ejecutando multirom pero estoy en el trabajo, así que no puedo hacer un nuevo cajero automático.
Si cree que el script en sí no se está ejecutando, intente agregar una línea donde crea un archivo o repite algo en logcat, para eliminar este factor.
Algo así como mkdir /system/test
En /datasi desea saber si el script se ejecuta en sí mismo, y en /systemsi desea saber si sufunciona bien en el script.
¿Tienes algún otro script que funcione? Si está en stock rom, probablemente no tenga soporte para init.d.
Entonces, el script en sí aparentemente no se está ejecutando. Acabo de probar una nueva secuencia de comandos con los permisos correctos con mkdir /data/test y reinicié la verificación después y no está allí. Sé que agregué compatibilidad con init.d a la imagen de arranque para que esté allí, pero ¿por qué no se estaría ejecutando?
@ user199849 bueno, si eso tampoco funciona, entonces es un problema relacionado con el sistema operativo. Pruebe con algunas aplicaciones de Play Store Kernel Adiutor, creo que tiene un emulador init.d.

Respuestas (1)

Si no lo hizo de esta manera, pruébelo: Ponga este script en un archivo y guárdelo en system/bin/ (digamos que lo nombra script1) y configure los permisos en 755, luego haga el archivo en system/etc/init.d / (nómbralo como quieras) y en el archivo escribe:

#!/system/bin/sh
script1

Y también establezca los permisos en 755. Reinicie y vea si tiene algún efecto. También puede intentar habilitar su durante el arranque, tiene esa opción en super su.

¿Sería ese mi script original que puse en system/bin? ¿También necesitaría el encabezado #!/system/bin/sh?
Sí, esto es lo que escribiste en tu pregunta. Sí, necesitas eso.
Tampoco funcionó. ¿Hay algún registro que pueda consultar para tratar de averiguar por qué no funciona? Nunca antes había tenido que revisar un registro, así que sé dónde están o el comando adb para abrirlo.
No lo sé, pero obviamente algo anda mal con init.d, así que usa algún emulador de Google Play. O vuelva a ensamblar el núcleo.
Así que estoy intentando lo mismo con soporte su.d en mi rom. Pero la desactivación de pm tampoco funciona allí. ¿Hay algún otro comando para deshabilitar paquetes/servicios con un script?
@ user199849 Para esto, desea deshabilitar, hay una aplicación en la tienda olay llamada "Deshabilitar servicio", inténtelo.
He estado usando esta aplicación para verificar si el servicio ha sido deshabilitado. Sin embargo, mi problema principal es encontrar la forma de deshabilitarlos en el primer arranque de la rom que estoy construyendo para que el usuario no obtenga el ota. Puedo confirmar que su.d está trabajando con mkdir /data/test y funciona. Sin embargo, los comandos pm con o con su -c no funcionan.
Lo siento, menciono con o sin su -c.
Cuando crea el script en system/bin/ y otorga los permisos correctos (esto de su pregunta) y lo ejecuta desde la terminal, ¿funciona?
Sí, cuando activo manualmente el script, funciona bien. No llamé a su desde el emulador de terminal, tampoco su funcionó desde el script.
@ user199849 ¿Está abierto a usar alternativas init.d?