Debugging a service

Here’s what you can do in four steps:

First: In the first interesting method of your service (I used on create):

/* (non-Javadoc)    
 * @see android.app.Service#onCreate()
 */
@Override
public void onCreate() {
    super.onCreate();
    //whatever else you have to to here...
    android.os.Debug.waitForDebugger();  // this line is key
}

Second: Set break points anywhere after the waitForDebugger command.

Third: Launch app via debug button in your IDE (Eclipse/Android Studio/…). (You should probably have removed the main launch activity from the manifest by now)

Last: Launch adb and run the command to start a service:

  • cd $PLATFORM_TOOLS
  • adb shell
  • am startservice -n com.google.android.apps.gtalkservice/com.google.android.gtalkservice.service.GTalkService

Leave a Comment