Red de conocimiento informático - Conocimiento informático - La diferencia entre los scripts .sh y .rc de Android

La diferencia entre los scripts .sh y .rc de Android

rc es un script de inicialización de Android, escrito en el lenguaje de inicialización de Android y ejecutado por el programa de inicialización. sh es un script de shell en Linux que se puede ejecutar en sh o bash.

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>

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.