Just An Application

August 21, 2009

A Standalone Android Runtime: SystemServer Startup

Filed under: Android, Java, Mobile Java, Standalone Android Runtime — Tags: , , , — Simon Lewis @ 11:44 am

There isn’t a great deal to show for a successful startup of the SystemServer except the contents of the logs so here they are.

The Main Log

The date at the start of each line is elided, and in some cases the time too, as it enables some long lines to just about fit.

... 09:50:31: 22001: INFO: SystemServer Entered the Android system server!
... 09:50:32: 22001: INFO: SystemServer Starting Power Manager.
... 09:50:32: 22001: INFO: SystemServer Starting Activity Manager.
... 09:50:33: 22001: INFO: SystemServer Starting telephony registry
... 09:50:33: 22001: INFO: SystemServer Starting Package Manager.

Nothing very interesting so far

... 09:50:33: 22001: WARN: PackageManager **** ro.build.version.sdk not set!

That’s because its not, but its only a warning so we won’t worry about it

... 22001: INFO: PackageManager Got library android.awt in /system/framework/android.awt.jar
... 22001: INFO: PackageManager Got library android.test.runner in /system/framework/android.test.runner.jar
... 22001: INFO: PackageManager Got library com.android.im.plugin in /system/framework/com.android.im.plugin.jar
... 09:50:33: 22001: WARN: PackageManager No BOOTCLASSPATH found!

That’s also true, but again its only a warning

... 09:50:33: 22001: DEBUG: PackageManager Scanning app dir /Users/simon/Scratch/standalone/system/framework
... 09:50:33: 22001: DEBUG: PackageManager Scanning app dir /Users/simon/Scratch/standalone/system/app
... 09:50:33: 22001: DEBUG: PackageManager Scanning app dir /Users/simon/Scratch/standalone/data/app
... 22001: WARN: PackageParser Skipping non-package file: /Users/simon/Scratch/standalone/data/app/.DS_Store

That’s MacOS X for you.

... 09:50:34: 22001: DEBUG: PackageManager Scanning app dir /Users/simon/Scratch/standalone/data/app-private
... 09:50:34: 22001: INFO: PackageManager Time to scan packages: 0.763 seconds
... 22001: WARN: PackageManager Removing dangling permission: android.permission.ACCESS_CACHE_FILESYSTEM from package null
... 09:50:34: 22001: INFO: SystemServer Starting Content Manager.
... 09:50:34: 22001: WARN: ActivityManager Unable to start service Intent { ... } }: not found
... 09:50:34: 22001: WARN: AccountMonitor Couldn't connect to Intent {  ... } } (Missing service?)

These two lines are very long indeed so they’ve been elided. The Intent being complained about is

    {
       action = android.accounts.IAccountsService
       comp   = { com.google.android.googleapps/com.google.android.googleapps.GoogleLoginService }
    }

and its true its not there. On the other hand its not there in the Emulator either.

... 09:50:34: 22001: INFO: SystemServer Starting System Content Providers.
... 09:50:34: 22001: INFO: ActivityThread Publishing provider sync: android.content.SyncProvider
... 09:50:34: 22001: INFO: ActivityThread Publishing provider settings: standalone.content.SettingsProvider

This is our substitute ContentProvider for the

    content://settings/...

URIs being started.

... 09:50:34: 22001: INFO: SystemServer Starting Battery Service.
... 09:50:34: 22001: INFO: SystemServer Starting Hardware Service.
... 09:50:34: 22001: INFO: SystemServer Starting Alarm Manager.
... 09:50:34: 22001: INFO: SystemServer Starting Sensor Service.
... 09:50:34: 22001: INFO: SystemServer Starting Window Manager.
... 09:50:35: 22001: INFO: SystemServer Starting Bluetooth Service.
... 09:50:35: 22001: INFO: SystemServer Starting Status Bar Service.
... 09:50:37: 22001: INFO: SystemServer Starting Clipboard Service.
... 09:50:37: 22001: INFO: SystemServer Starting Input Method Service.
... 09:50:37: 22001: INFO: InputManagerService Enabled input methods: null
... 09:50:37: 22001: INFO: InputManagerService Enabled input methods has not been set, enabling all
... 09:50:37: 22001: INFO: SystemServer Starting NetStat Service.
... 09:50:37: 22001: INFO: SystemServer Starting Connectivity Service.
... 09:50:37: 22001: INFO: WifiService WifiService starting up with Wi-Fi disabled
... 09:50:37: 22001: INFO: SystemServer Starting Notification Manager.
... 09:50:37: 22001: INFO: SystemServer Starting Mount Service.
... 09:50:37: 22001: INFO: SystemServer Starting DeviceStorageMonitor service
... 09:50:37: 22001: INFO: SystemServer Starting Location Manager.
... 09:50:37: 22001: INFO: SystemServer Starting Search Service.
... 09:50:37: 22001: INFO: SystemServer Starting Checkin Service.
... 09:50:37: 22001: WARN: ActivityManager Unable to start service Intent { ... }: not found

Another long line. This time the Intent is

    {
        comp = { com.google.android.server.checkin/com.google.android.server.checkin.CheckinService }
    }

Again its true its not there, and again its not there in the SDK emulator either.

... 09:50:37: 22001: WARN: SystemServer Using fallback Checkin Service.
... 09:50:37: 22001: INFO: SystemServer Starting Wallpaper Service
... 09:50:37: 22001: DEBUG: WallpaperService WallpaperService startup
... 09:50:37: 22001: INFO: SystemServer Starting Audio Service
... 22001: WARN: AudioService Soundpool could not load file: /Users/simon/Scratch/standalone/system/media/audio/ui/Effect_Tick.ogg
... 22001: WARN: AudioService Soundpool could not load file: /Users/simon/Scratch/standalone/system/media/audio/ui/KeypressStandard.ogg
... 22001: WARN: AudioService Soundpool could not load file: /Users/simon/Scratch/standalone/system/media/audio/ui/KeypressSpacebar.ogg
... 22001: WARN: AudioService Soundpool could not load file: /Users/simon/Scratch/standalone/system/media/audio/ui/KeypressDelete.ogg
... 22001: WARN: AudioService Soundpool could not load file: /Users/simon/Scratch/standalone/system/media/audio/ui/KeypressReturn.ogg

Haven’t got any of those, and neither does the Emulator.

... 09:50:37: 22001: INFO: SystemServer Starting HeadsetObserver
... 09:50:37: 22001: WARN: HeadsetObserver This kernel does not have wired headset support
... 09:50:37: 22001: INFO: SystemServer Starting AppWidget Service
... 09:50:37: 22001: INFO: WindowManager Menu key state: 0 safeMode=false
... 09:50:38: 22001: INFO: WindowManager Config changed: { scale=1.0 imsi=0/0 locale=en_US touch=1 key=1/2/2 nav=1 orien=1 }
... 09:50:38: 22001: DEBUG: PowerManagerService system ready!

We’re done.

... 09:50:38: 22001: DEBUG: ActivityManager Start running!
... 09:50:38: 22001: WARN: ActivityManager Unable to start service Intent { ... }: not found

Another missing service. The Intent is

     {
         action = android.accounts.IAccountsService 
         comp   = { com.google.android.googleapps/com.google.android.googleapps.GoogleLoginService }
     }

No we don’t have it. Neither does the Emulator.

... 09:50:38: 22001: ERROR: LockPatternKeyguardView Failed to bind to GLS while checking for account

A consequence of the previous problem. Also present in the Emulator.

... 09:50:38: 22001: WARN: StatusBar Icon not found in : 0

This looks as though it is a bug except that it happens in the Emulator as well.

... 09:50:38: 22001: DEBUG: LocationManagerService PowerStateBroadcastReceiver: Battery changed
... 09:50:38: 22001: DEBUG: StatusBar updateResources
... 09:50:38: 22001: DEBUG: LocationManagerService PowerStateBroadcastReceiver: Screen on
... 09:50:38: 22001: DEBUG: LocationManagerService updateWakelockStatus(): true
... 09:50:38: 22001: DEBUG: LocationManagerService Cancelling existing alarm
... 09:50:38: 22001: DEBUG: LocationManagerService No need for alarm
... 09:50:38: 22001: DEBUG: LocationManagerService Can't release wakelock again!

The Event Log

A very rough-and-ready formatted version of the contents of the Event log.

... 09:50:31: 22001 902782 boot_progress_system_run[3010]	time 0 milliseconds
... 09:50:33: 22001 902782 boot_progress_pms_start[3060]	time 1315 milliseconds
... 09:50:33: 22001 902782 boot_progress_pms_system_scan_start[3070]	time 1414 milliseconds
... 09:50:33: 22001 902782 boot_progress_pms_data_scan_start[3080]	time 1867 milliseconds
... 09:50:34: 22001 902782 boot_progress_pms_scan_end[3090]	time 2177 milliseconds
... 09:50:34: 22001 902782 boot_progress_pms_ready[3100]	time 2209 milliseconds
... 09:50:34: 22001 902782 battery_status[2723]	status 0 health 0 present 0 plugged 1 technology  
... 09:50:34: 22001 902782 battery_level[2722]	level 74 percent voltage 0 temperature 0 
... 09:50:34: 22001 1259814 power_screen_state[2728]	offOrOn 1 becauseOfUser 0 totalTouchDownTime 0 milliseconds touchCycles 0 
... 09:50:34: 22001 1259814 power_screen_broadcast_send[2725]	wakelockCount 1 
... 09:50:38: 22001 902782 configuration_changed[2719]	config mask 248 
... 09:50:38: 22001 902782 boot_progress_ams_ready[3040]	time 6205 milliseconds
... 09:50:38: 22001 1259814 screen_toggled[70000]	screen_state 1 
... 09:50:38: 22001 1259814 power_screen_broadcast_done[2726]	on 1 broadcastDuration 762 milliseconds wakelockCount 1 

The records were accessed using the classes in the com.android.ddmlib.log package.


Copyright (c) 2009 By Simon Lewis. All Rights Reserved.

Advertisements

1 Comment »


RSS feed for comments on this post. TrackBack URI

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Blog at WordPress.com.

%d bloggers like this: