2012-04-21 25 views
5

El comportamiento de init. *. Rc en Ice Cream Sandwich parece haber cambiado. Anteriormente, había sido capaz de iniciar un servicio en el arranque con una entrada como:Ice Cream Sandwich init.rc documentation

service my_kool_service /system/bin/my_kool_service 

he encontrado this post, que dio una pista para cambiar a:

service my_kool_service /system/bin/my_kool_service 
    class main 

Entonces, ¿qué es class main y ¿Por qué es necesario?

This documentation qué hablar de la "opción " class, pero no proporciona detalles sobre el comportamiento por defecto, o el cambio observado.

¿Está el idioma de inicio del ICS init rc documentado en cualquier lugar, formalmente o de otra manera?

Gracias.

+0

¿me puede decir la ubicación de init.rc en ice cream s/w? –

Respuesta

3

Si agrega un servicio en una clase particular, puede iniciar el servicio llamando a start_class. P.ej. Si tiene 10 servicios en prueba de clase, entonces, al llamar a la prueba start_class, puede iniciar los 10 servicios en la prueba de clase si ya no se están ejecutando. Lo mismo es aplicable para detener todos los servicios también ...

Sede, siguiente enlace para más detalles acerca init.rc lenguaje https://github.com/android/platform_system_core/blob/master/init/readme.txt

espero que le ayudará .. :)

+0

En AOSP 4.4, el comando en el archivo init * rc es 'class_start' – QJGui

3

Como ya se ha se ha dicho init.rc está documentado in this readme. La opción de servicio class se usa para agrupar servicios e iniciarlos y detenerlos juntos respectivamente con los comandos class_start y class_stop.

Específicamente clases core, main y late_start se utilizan en Android 3.0 en adelante para el cifrado (véase la sección "¿Cómo funciona Android cifrado" en el Notes on the implementation of encryption in Android 3.0). En particular, citando ese documento:

Los servicios principales nunca se cierran después de comenzar. los servicios principales se cierran y luego se reinician después de ingresar la contraseña del disco. Los servicios late_start no se inician hasta después de que se hayan descifrado y montado los datos.

1

núcleo clase - Siempre inició por primera vez y no puede ser cerrada sin consecuencias graves en la mayoría de los casos clases principales - responsable de los servicios. Se puede reiniciar, pero solo si es absolutamente necesario clase de inicio tardío - Sucede justo antes de que el sistema completo arranque y comience a estar disponible para el usuario.

Cuestiones relacionadas