¿Cómo puedo ejecutar un script .sh personalizado en cada inicio (sin compatibilidad nativa con init.d)?

Esto parece una preocupación general de los jugadores novatos del sistema Android que acaban de rootear sus teléfonos. El método más frecuente puede ser lanzar su secuencia de comandos en /system/etc/init.d. Si la ROM es compatible init.d, listo, pero no siempre es así. Entonces

¿Cómo puedo ejecutar mi script personalizado en cada inicio? ¿Cuál es el usuario/grupo que ejecutará mi script como si usara su solución?


Damos la bienvenida a todo tipo de soluciones.

Respuestas (3)

Manera simple (trabajando):

  1. Prepare sus comandos posteriores al arranque en un script, digamos /system/xbin/post-boot (set exec perm)

  2. Agregue la ruta de script personalizada anterior al final de /system/etc/init.qcom.post_boot.sh

P.ej:

# echo /system/xbin/post-boot >> /system/etc/init.qcom.post_boot.sh

¡Hecho!

(Si no puede encontrar el qcom post_boot (dispositivos Qualcomm), busque cualquier secuencia de comandos post_boot)

Creo que la forma más fácil sería usar la aplicación Kernel Adiutor . Tiene la capacidad de emular init.d Abra la aplicación y deslice desde el borde izquierdo, revelará el menú, desplácese a la sección de herramientas y luego toque init.d Allí tiene un interruptor para habilitar o deshabilitar el emulador init.d, para dispositivos que no No es compatible con init.d, en la parte inferior derecha tiene un ícono "más" para agregar scripts para ejecutar.

Buen trabajo sugiriendo KA. Lo probé pero no sabía qué hacer hace meses.

De mi respuesta a otra pregunta, tengo dos métodos aquí.

1. Agregue init.dsoporte manualmente editandoinit.rc

Nunca he hecho esto personalmente, pero puedo decir que

  • Debe desempaquetar y volver a empaquetar su imagen de arranque. Esto puede no ser muy difícil si puede aprender del paquete zip SuperSU.

2. Reemplace un servicio del sistema (en este caso, el script siempre se ejecutará como root)

Reemplace un servicio de sistema ( debuggerdes la mejor opción) binario con su script de shell personalizado. Luego ejecute start debuggerdpara activarlo (efectivo desde el próximo arranque).

Si hay un debuggerd64, asegúrese de reemplazarlo con un script nulo.