¿Cómo crear scripts de inicio usando la carpeta init.d?

En esta respuesta a una pregunta que hice hace un tiempo, dijo que es posible ejecutar un script en cada arranque.

Creé un archivo (sin extensión) que contiene lo siguiente:

#!/system/bin/sh

busybox mount -o bind /emmc/Android/data/com.google.android.music/ /sdcard/Android/data/com.google.android.music/

Me aseguré de que la carpeta de destino exista y guardé el archivo en /system/etc/init.d, pero de hecho parece que el script no se ejecuta.

PD: las propiedades del archivo de script son: -rwxr-xr-x.

Creo que la respuesta está equivocada: “el núcleo” nunca llama a nada desde ningún init.ddirectorio. Debe haber soporte explícito de los scripts de inicio para eso. Sin embargo, necesitaría ver un proceso de inicio de dispositivo Android real para decir cómo/dónde, no puedo hacer eso ahora.

Respuestas (3)

En mi versión de Android (cm11 / LolliKat) hay un script 90userinit init.dque intenta ejecutar un script llamado /data/local/userinit.shsi lo encuentra.

No he intentado esto, pero nombrar su secuencia de comandos /data/local/userinit.shpodría ser el truco.

[Sé que es una vieja pregunta, pero para la posteridad...]

Si tiene stock ROM, probablemente no tenga init.dsoporte. Los permisos del archivo ubicado en la init.dcarpeta deben ser 755o 777. Si no tiene init.dsoporte, puede usar kernel adiutor que tiene init.demulador

En mi CM13 moví el script con la /etc/init.dextensión y encendí el soporte con la ayuda de la aplicación Universal.shchmod 755init.dinit.d