廢話只說一句:android aosp源碼龐大,是個大草原,要跑馬,請看準方向,本文就是個方向
(我不寫長文,也不貪多,可能介紹不清楚,然後就這樣,寫給懂的人看)
android既然分爲 c世界 和 java世界,那麼服務也從這倆方面介紹咯:
-
c世界服務稱爲本地服務。(service manager service好特殊)
-
java世界服務(就是zygote,不,應該說SystemServer中初始化的服務)稱爲 上層服務(或者說框架服務)
當然你也可以叫別的名字,不過我覺得這樣挺好區分的,就這樣叫咯。(四大組件之一的service其實是框架層對Binder封裝,也叫服務,但不是這個上層服務,你可以稱它爲“用戶可定製服務”)
一、 本地服務: (init進程解析init.rc跑起來的服務) (比方說我最熟悉的installd)
core類型的 (類型是在init.rc裏記錄服務是標明的)
服務名稱 | 手機中執行文件位置 | 說明 |
ueventd | /sbin/ueventd -->../init | 創建運行時目錄、設備節點 |
healthd | /sbin/healthd | |
console | /system/bin/sh | |
adbd | /sbin/adbd | |
servicemanager | /system/bin/servicemanager | /system/bin下面還有很多服務 |
vold, logd之類的 |
main類型服務
服務名稱 | 可執行文件path | 說明 |
netd | /system/bin/netd | |
debuggerd | /system/bin/debuggerd | |
ril-daemon | /system/bin/rild | |
surfaceflinger | /system/bin/surfaceflinger | |
zygote | /system/bin/app_process | 創建app應用進程的服務 |
installd | /system/bin/installd |
補充一個: keystore /system/bin/keystore
二、上層服務 ( system server進程中初始化的服務,或者說在service manager中註冊的服務)
(特別重要的,核心的,我用加重標識)
這部分介紹,整理自:http://blog.csdn.net/zhgxhuaa/article/details/24835065
1.AccountManagerService
Android賬戶服務,提供了對賬戶、密碼、授權的集中管理。
2.AccessibilityManagerService
輔助管理程序截獲所有的用戶輸入,並根據這些輸入給用戶一些額外的反饋,起到輔助的效果,View的點擊、焦點等事件分發管理服。
3.ActivityManagerService
Android framework框架核心服務,管理整個框架中任務、進程管理、Intent解析等的核心實現,管理四大組建的生命週期。
4.AlarmManagerService
提供鬧鈴和定時器等功能。
5.AppWidgetService
Android中提供Widget的管理和相關服務
6.AssetAtlasService
負責將預加載的bitmap組裝成紋理貼圖,生成的紋理貼圖可以被用來跨進程使用,以減少內存。
7.AudioService
AudioFlinger的上層管理封裝,主要是音量、音效、聲道及鈴聲等的管理。
8.BackupManagerService
備份服務。
9.BatteryService
負責監控電池的充電狀態、電池電量、電壓、溫度等信息,當電池信息發生變化時,發生廣播通知其他關係電池信息的進程和服務。
10.BluetoothManagerService
負責藍牙後臺管理和服務。
11.ClipboardService
剪貼板服務。
12.CommonTimeManagementService
管理本地常見的時間服務的配置,在網絡配置變化時重新配置本地服務。
13.ConnectivityService
網絡連接狀態服務。
14.ContentService
內容服務,主要是數據庫等提供解決方法的服務。
15.ConsumerIrService
遠程控制,通過紅外等控制周圍的設備(例如電視等)
16.CountryDetectorService
檢測用戶國家
17.DevicePolicyManagerService
提供一些系統級別的設置及屬性
18.DiskStatsService
磁盤統計服務,供dumpsys使用
19.DisplayManagerService
用於管理全局顯示生命週期,決定在已連接的物理設備如何配置邏輯顯示,並且通知系統和應用狀態的改變。
20.DreamManagerService
屏幕保護。
21.DropBoxManagerService
用於系統運行時日誌的存儲於管理。
22.IdleMaintenanceService
用於觀察設備狀態,在設備空閒時執行維護任務。將一些比較耗時的代價比較高的任務放到設備空閒時執行,這樣保證用戶的體驗。
23.InputManagerService
以前在WindowManagerService中,現在獨立了出來,用戶處理事件分發。
24.InputMethodManagerService
輸入法服務,打開和關閉輸入法。
25.LightsService
光感應傳感器服務。
26.LocationManagerService
位置服務,GPS、定位等。
27.LockSettingsService
和鎖屏界面中的輸入密碼,手勢等安全功能有關。可以保存每個user的相關鎖屏信息。
28.WallpaperManagerService
壁紙管理服務。
29.MountService
磁盤加載服務程序,一般要和一個linux daemon程序如vold/mountd等合作起作用,主要負責監聽並廣播device的mount/unmount/badremoval等等事件。
30.NetworkManagementService
網絡管理服務。ANDROID 系統網絡連接和管理服務由四個系統服務ConnectivityService、NetworkPolicyManagerService、NetworkManagementService、NetworkStatsService共同配合完成網絡連接和管理功能。ConnectivityService、NetworkPolicyManagerService、NetworkStatsService三個服務都通過INetworkManagementService接口跨進程訪問NetworkManagementService服務,實現與網絡接口的交互及信息讀取。
31.NetworkPolicyManagerService
維護網絡使用策略。
32.NetworkStatsService
網絡統計相關。
33.NetworkTimeUpdateService
監視網絡時間,當網絡時間變化時更新本地時間。
34.NotificationManagerService
通知服務。
35.NsdService
網絡服務搜索
36.PackageManagerService
Android framework框架核心服務,用於APK的解析、權限驗證、安裝等。
37.PrintManagerService
打印服務。
38.PowerManagerService
電源管理服務。
39.RecognitionManagerService
身份識別相關。
40.SamplingProfilerService
用於耗時統計等。
41.SearchManagerService
搜索服務。
42.SchedulingPolicyService
調度策略。
43.SerialService
對串口的設備進行操作
44.StatusBarManagerService
狀態欄。
45.TelephonyRegistry
提供電話註冊、管理服務,可以獲取電話的鏈接狀態、信號強度等等。
46.TextServicesManagerService
文本服務,例如文本檢查等。
47.TwilightService
指出用戶當前所在位置是否爲晚上,被UiModeManager等用來調整夜間模式。
48.UiModeManagerService
管理當前Android設備的夜間模式和行車模式.。
49.UsbService
USB Host和device管理服務。
50.VibratorService
振動器服務。
51.WifiP2pService
Wifi Direct服務。
52.WifiService
Wifi服務。
53.WindowManagerService
Android framework框架核心服務,窗口管理服務。
54.WiredAccessoryManager
監視手機和底座上的耳機。
補充一個 :
FingerprintManagerService 提供指紋相關的服務(authenticate啊、enroll啊之類的)
我學習的時候是,先掐了個PMS,搞的半死不活的,不,死去活來的。
後來又和AMS以及WMS打,最近科室做預言的時候一直在攻擊FMS (指紋服務)。
目前感覺,一旦一個服務拿下來,後面的就順手很多。(就像知道Binder機制後發現android系統再也玩不出新花樣了)
但是也有例外,比方說AMS和WMS的纏綿,至今搞的我神魂顛倒,像FMS就還好。
F.Y.I.
merlin
2015/9/29