最終更新:2013-07-18 (木) 14:30:49 (3932d)
Android/init/class_start
概要
- init.rcとかに
service <サービス名> <実行ファイルのパス> class <クラス名> その他オプション...
- とかいう形でサービスごとにクラスが定義されている。
- そして
class_start <クラス名>
- が呼び出された時にそのクラスのサービスが起動される。
サービスクラスの起動タイミング
Android/init.rc
on boot
on nonencrypted?
- class_start late_start?
on charger?
- class_start charger?
Android/init.goldfish.rc
on boot
- class_start qemud?
- class_start goldfish-logcat? -> Android/system/bin/logcat? (logcat)
- class_start goldfish-setup? -> Android/system/etc/init.goldfish.sh
サービスクラス
Android/init.rc
core
サービス名 コマンド ueventd Android/sbin/ueventd console Android/bin/sh? adbd Android/sbin/adbd? servicemanager? Android/system/bin/servicemanager vold Android/system/bin/vold?
main
サービス名 コマンド netd Android/system/bin/netd? debuggerd Android/system/bin/debuggerd? ril-daemon? Android/system/bin/rild? surfaceflinger? (SurfaceFlinger) Android/system/bin/surfaceflinger? zygote? (Zygote) Android/system/bin/app_process drm? Android/system/bin/drmserver? media Android/system/bin/mediaserver bootanim? Android/system/bin/bootanimation? dbus Android/system/bin/dbus-daemon? bluetoothd Android/system/bin/bluetoothd? installd? Android/system/bin/installd? flash_recovery? Android/system/etc/install-recovery.sh? racoon? Android/system/bin/racoon? mtpd? Android/system/bin/mtpd? keystore? Android/system/bin/keystore? dumpstate Android/system/bin/dumpstate? - Android/init.goldfish.rc