Android Studio provides different keymaps (the mapping between shortcut keys and an action). You can see which keymap you are using in Settings->Keymap.
It wouldn’t be practical to list the shortcuts for every keymap so the following will be used:
- Windows: Default
- Linux: Default
- OSX: Mac OSX 10.5+
The next few tips will be about debugging. So let’s start with the most basic one: adding a good old breakpoint!! I am pretty sure that by now you have debugged an app and know how to toggle it by left-clicking in the left gutter. Here is the correct shortcut to toggle it without your mouse.
- OSX: Cmd+F8
- Windows/Linux: Ctrl+F8
In a nutshell, only do break when a certain condition is met. You can enter any java expression that returns a boolean based on the current scope. And do enjoy the fact that the condition textbox supports code completion!
- Right click on a breakpoint and enter a condition.
This is a breakpoint that logs stuff instead of breaking. This can be useful when you want to log some stuff right now but cannot or don’t want to redeploy with logging code added.
- Right click on a breakpoint, uncheck Suspend and type your message in “Log evaluated Expression”
This is a way to add a breakpoint that will be removed automatically the first time you hit it.
- Mouse: Alt+LeftClick in the left gutter
- Mac: Cmd+Alt+Shift+F8
- Windows/Linux: Ctrl+Alt+Shift+F8
This will disable the breakpoint. Particularly useful when you have some complicated conditional or logging breakpoint that you don’t need right now but don’t want to recreate next time.
- Mouse: Alt+LeftClick on an existing breakpoint in the left gutter
- There is no keyboard shortcut but you can create one if you use it often enough.
Start debugger even if you didn’t start the app in debug mode. This is very useful since you don’t have to redeploy the app to start debugging. It is pretty useful also when somebody is testing the app, encounters a bug and give you his device.
- Mouse: click on its icon or select the menu item Build → Attach to Android Process
- There is no keyboard shortcut but you should create one!
This is used to inspect a variable’s content and evaluate pretty much any valid java expression right there, right now. Just be aware that if you are mutating state, it will stay that way when you resume the execution of the program.
This evaluates an expression without opening the Evaluate Expression dialog
- Alt+LeftClick on an expression
During a debugging session, this will let you add a label to a particular object so that you can identify it later. Very useful in those debugging sessions where you have a bunch of similar object and you want to know if it is the same one as before.
Shortcut (from the variables or watch panel):
- Mouse: right-click and select “Mark Object”
- OSX : F3 with the object selected
- Windows/Linux: F11 with the object selected
This will take a stacktrace and make it clickable just as if it had been shown in logcat. This is particularly useful when copying a stacktrace from a bug report or from a terminal.
- You can also analyze a proguarded stack trace using the “ProGuard Unscramble Plugin”
Shortcut : There is no shortcut for this…
- Menu: Analyze → Analyze Stacktrace
- Find action: analyze stacktrace