2012-04-21 11 views
5

Il comportamento di init. *. Rc in Ice Cream Sandwich sembra essere cambiato. In precedenza, ero stato in grado di avviare un servizio al boot con una voce simile:Documentazione init.rc di Ice Cream Sandwich

service my_kool_service /system/bin/my_kool_service 

ho trovato this post, che ha dato un suggerimento per cambiare:

service my_kool_service /system/bin/my_kool_service 
    class main 

Allora, qual è class main, e perché è necessario?

This documentation vuol parlare del "opzione" class, ma non fornisce dettagli sul comportamento di default, o il cambiamento osservato.

L'attuale lingua di inizializzazione ICS è documentata ovunque, formalmente o in altro modo?

Grazie.

+0

puoi dirmi la posizione di init.rc nel gelato s/w? –

risposta

3

Se si aggiunge un servizio in una particolare classe, è possibile avviare il servizio chiamando start_class. Per esempio. Se si dispone di 10 servizi in prova di classe, quindi chiamando il test start_class, è possibile avviare tutti i 10 servizi in prova di classe se non sono già in esecuzione. stesso vale per l'arresto di tutti i servizi anche ...

Sede, seguendo link per maggiori informazioni su init.rc lingua https://github.com/android/platform_system_core/blob/master/init/readme.txt

Spero che vi aiuterà .. :)

+0

In AOSP 4.4, il comando nel file init * rc è 'class_start' – QJGui

3

Come già stato detto init.rc è documentato in this readme. L'opzione di servizio class viene utilizzata per raggruppare i servizi e avviarli e fermarli insieme rispettivamente con i comandi class_start e class_stop.

In particolare le classi core, main e late_start sono utilizzati in Android 3.0 in poi per la crittografia (vedere la sezione "Come Android cifratura funziona" nel Notes on the implementation of encryption in Android 3.0). In particolare, citando quel documento:

I servizi principali non vengono mai arrestati dopo l'avvio. i servizi principali vengono arrestati e quindi riavviati dopo l'immissione della password del disco. I servizi late_start non vengono avviati fino a quando/data non è stata decodificata e montata.

1

nucleo classe - ha iniziato sempre prima e non può essere arrestato senza gravi conseguenze nella maggior parte dei casi classe principali - responsabili dei servizi. Può essere riavviato, ma solo se assolutamente necessario classe late-start - Si verifica subito prima dell'avvio del sistema completo e inizia a essere disponibile per l'utente.