源代码位于:
frameworks/base/services/java/com/android/server/SystemServer.java。
frameworks/base/services/jni/com_android_server_SystemServer.cpp。
- Android FactoryTest框架
- factoryTest
- SystemProperties.get("ro.factorytest")
- FACTORY_TEST_OFF
- FACTORY_TEST_LOW_LEVEL
- FACTORY_TEST_HIGH_LEVEL
- factoryTest
boolean disableStorage = SystemProperties.getBoolean("config.disable_storage", false); boolean disableMedia = SystemProperties.getBoolean("config.disable_media", false); boolean disableBluetooth = SystemProperties.getBoolean("config.disable_bluetooth", false); boolean disableTelephony = SystemProperties.getBoolean("config.disable_telephony", false); boolean disableLocation = SystemProperties.getBoolean("config.disable_location", false); boolean disableSystemUI = SystemProperties.getBoolean("config.disable_systemui", false); boolean disableNonCoreServices = SystemProperties.getBoolean("config.disable_noncore", false); boolean disableNetwork = SystemProperties.getBoolean("config.disable_network", false); |
流程
- System.loadLibrary("android_servers")(加载lib android_servers库)
- nativeInit
- 初始化native服务
- ServerThread thr = new ServerThread()
- thr.initAndLoop()
- new HandlerThread("WindowManager")
- installer = new Installer
- installer.ping()
- AttributeCache.init
- display.waitForDefaultDisplay
- firstBoot = pm.isFirstBoot
- ActivityManagerService.setSystemProcess
- ActivityManagerService.installSystemProviders
- Watchdog.getInstance().init
- Watchdog.getInstance().addThread(wmHandler, "WindowManager thread")
- ActivityManagerService.self().setWindowManager
- inputManager.setWindowManagerCallbacks(wm.getInputMonitor())
- display.setWindowManager
- display.setInputManager
- wm.displayReady
- ActivityManagerNative.getDefault().showBootMessage
- mountService.waitForAsecScan
- contentService.systemReady
- dock = new DockObserver
- inputManager.setWiredAccessoryCallbacks(new WiredAccessoryManager)
- wm.detectSafeMode
- ActivityManagerService.self().enterSafeMode
- VMRuntime.getRuntime().disableJitCompilation
- 调用服务的systemReady
- 调用服务的systemRunning
- Looper.loop
服务
名称 | 类名 | 依赖 | 说明 |
power | PowerManagerService | lights activity batterystats appops | |
activity | ActivityManagerService | factoryTest window | |
batterystats | BatteryStatsService | 在ActivityManagerService构造时创建 | |
usagestats | UsageStatsService | ||
procstats | ProcessStatsService | activity | |
appops | AppOpsService | ||
display | DisplayManagerService | wmHandler window input | |
telephony.registry | TelephonyRegistry | ||
scheduling_policy | SchedulingPolicyService | ||
package | PackageManagerService | installer factoryTest onlyCore | |
meminfo | MemBinder | activity | 在ActivityManagerService的setSystemProcess方法中创建 |
gfxinfo | GraphicsBinder | activity | |
dbinfo | DbBinder | activity | |
cpuinfo | CpuBinder | activity | |
permission | PermissionController | activity | |
entropy | EntropyMixer | ||
user | UserManagerService | ||
account | AccountManagerService | ||
content | ContentService | factoryTest | |
LightsService | |||
battery | BatteryService | ||
vibrator | VibratorService | ||
consumer_ir | ConsumerIrService | ||
alarm | AlarmManagerService | ||
input | InputManagerService | wmHandler | |
window | WindowManagerService | power display input wmHandler factoryTest firstBoot onlyCore | |
bluetooth_manager | BluetoothManagerService | ||
input_method | InputMethodManagerService | ||
accessibility | AccessibilityManagerService | ||
mount | MountService | ||
lock_settings | LockSettingsService | ||
device_policy | DevicePolicyManagerService | ||
statusbar | StatusBarManagerService | ||
clipboard | ClipboardService | ||
network_management | NetworkManagementService | ||
textservices | TextServicesManagerService | ||
netstats | NetworkStatsService | connectivity | |
netpolicy | NetworkPolicyManagerService | connectivity | |
wifip2p | WifiP2pService | ||
wifi | WifiService | ||
connectivity | ConnectivityService | network_management netstats netpolicy | |
servicediscovery | NsdService | ||
updatelock | UpdateLockService | ||
notification | NotificationManagerService | ||
devicestoragemonitor | DeviceStorageMonitorService | ||
location | LocationManagerService | ||
country_detector | CountryDetectorService | ||
search | SearchManagerService | ||
dropbox | DropBoxManagerService | ||
wallpaper | WallpaperManagerService | ||
audio | AudioService | ||
usb | UsbService | ||
TwilightService | |||
UiModeManagerService | twilight | ||
backup | BackupManagerService | ||
appwidget | AppWidgetService | ||
RecognitionManagerService | |||
diskstats | DiskStatsService | ||
samplingprofiler | SamplingProfilerService | ||
NetworkTimeUpdateService | |||
commontime_management | CommonTimeManagementService | ||
CertBlacklister | |||
dreams | DreamManagerService | ||
assetatlas | AssetAtlasService | ||
IdleMaintenanceService | battery | ||
| PrintManagerService | ||
media_router | MediaRouterService |