La diferencia entre los scripts .sh y .rc de Android
Utilizando el script de inicio init.rc en Android, puedes realizar operaciones simples en la inicialización del sistema.
Ruta del script de inicio init.rc: system/core/rootdir/init.rc
Contenido:
Comando: comando
Acción: Acción:
Activador: Activador
Servicio. Servicios
Opciones: Opciones
Propiedades: Propiedades
Los comandos son algunas operaciones básicas. Por ejemplo:
mkdir /system
mkdir /data 0771 sistema sistema
mkdir /persist 0771 sistema sistema
devwait /dev/ block /mmcblk0p12
mount ext3 /dev/block/mmcblk0p
La acción representa una serie de comandos, generalmente llamados en un disparador, como
en init // representa un disparador condición
p>sysclktz 0
nivel de registro 3
# Establecer entorno global
exportar RUTA /sbin:/system/sbin:/ system/bin:/ system/xbin
export LD_LIBRARY_PATH /system/lib
export ANDROID_BOOTLOGO 1
Servicios generalmente significa iniciar un programa ejecutable, y las opciones son la adición de servicios a combinar los servicios utilizados juntos.
service vold /system/bin/vold //vold es el nombre del servicio, /system/bin/vold es el programa ejecutable correspondiente.
socket vold stream 0660 root mount //socket es una opción para usar con servicios
ioprio be 2
service netd /system/bin/netd p> p>
sistema raíz socket netd stream 0660
Las opciones utilizadas con los servicios son socket, usuario, grupo y oneshot.
oneshot significa que el servicio se inicia solo una vez. Sin la opción oneshot, el ejecutable siempre existirá; si se elimina el ejecutable, se eliminará. - Si se mata el ejecutable, se reiniciará.
Las propiedades son valores utilizados en el sistema que se pueden configurar, leer y escribir.
setprop ro.HIDDEN_APP_MEM 5120 //setprop se utiliza para establecer propiedades
setprop ro.CONTENT_PROVIDER_MEM 5632
setprop ro.EMPTY_APP_MEM 6144
...
on property: ro.kernel.qemu=1 //la propiedad on se usa para determinar los atributos
start adbd
Los atributos aquí se usan en todo Android proceso en ejecución son consistentes.
Las palabras clave del script de inicio se pueden encontrar en el archivo system/core/init/keyword.h en el proceso de inicio. Por ejemplo:
KEYWORD(chroot, COMMAND, 1, do_chroot) //chroot es el comando, do_chroot() es la función llamada, que está definida en system/core/init/builtins.c en el proceso de inicio en el archivo.