# ADB Idea: 6 adb operations behind fixed number keys

> ADB Idea is a Kotlin plugin for Android Studio and Intellij IDEA that turns 6 adb app commands into IDE actions keyed to a fixed number in a popup. The feature list is tiny, and the muscle-memory shortcut is both its whole point and its least documented part.

**pbreault/adb-idea** — A plugin for Android Studio and Intellij IDEA that speeds up your day to day android development.

- Repository: https://github.com/pbreault/adb-idea
- Stars: 2,150 · Forks: 265
- Language: Kotlin
- License: Apache-2.0
- Published: 2026-10-13 · Updated: 2026-10-13 · Language: en
- Canonical page: https://hysenlabs.com/projects/pbreault-adb-idea

## Six adb operations wrapped as named IDE actions

Android developers running an app on an emulator or a device repeat the same 6 operations every session: uninstall it, kill it, start it, restart it, clear its data, and clear its data and restart. ADB Idea packages exactly those 6 as named actions inside Android Studio and Intellij IDEA, and stops there. Nothing in it extends what adb can do, and nothing chains the operations on a command line. What changes is the route you take to reach them. Instead of opening a terminal and typing an adb invocation against a package name, you fire an action the IDE can bind, search and menu, and because every command shares the ADB prefix the IDE's own action search can pull them out of a much longer list of registered actions.

Each operation gets its own row:

```bash
* Uninstall App
* Kill App
* Start App
* Restart App
* Clear App Data
* Clear App Data and Restart
```

That list is the entire feature surface. The code is Kotlin, assembled by Gradle from build.gradle.kts, settings.gradle.kts, gradle.properties and the gradle/ directory at the repository root.

## The number on the left of every popup row

Three routes reach those same 6 actions, and the plugin is built around the first. The Quick Operations Popup prints a number on the left of each row, and the stated reason that the number stays put is muscle memory. A fixed digit per operation means you learn 6 digits once and stop re-reading a list before every reinstall. Two of the rows, Restart App and Clear App Data and Restart, are combinations of operations that also exist on their own, so the value sits in the pairing rather than in 6 separate adb calls. A static third route hangs off the menu bar at Tools->Android->ADB Idea, and it is the only one no keyboard shortcut can shadow.

## The fixed numbers are never mapped to commands

One gap sits underneath that muscle memory promise. The README promises a stable number for every operation and never publishes which number belongs to which operation, so the mapping has to be learned from the popup itself. No remapping path exists either: the plugin documents no settings page, no config key and no keymap entry for changing those digits. Documentation runs unevenly across the 2 keyboard routes as well. The popup gets a per-platform binding spelled out, and it differs by operating system:

```bash
* Mac OSX: Ctrl+Shift+A
* Windows/Linux: Ctrl+Alt+Shift+A
```

Those 2 lines are every key binding the documentation gives, and neither is described as configurable. Find Actions, the second route, gets no key here at all, only a link to the JetBrains help page about action search. One developer learns 6 digits behind Ctrl+Shift+A on a Mac keyboard, another learns the same 6 behind Ctrl+Alt+Shift+A on Windows or Linux.

## Two install paths through the plugin manager

Installation is the shortest part of the whole workflow, because nothing is compiled. Inside Android Studio or Intellij IDEA, open the plugin manager through Browse Repositories, and fall back to a manual download installed from disk when that route does not serve it:

```bash
Preferences/Settings->Plugins->Browse Repositories
```

```bash
Preferences/Settings->Plugins->Install plugin from disk
```

The download comes from the JetBrains plugin site, plugin number 7380, at http://plugins.jetbrains.com/plugin/7380?pr=idea. No build step, no Gradle invocation, no dependency to wire in. What is missing is versioning. The README names no minimum Android Studio or Intellij IDEA build, lists no compatible range, and offers no rollback note for a bad update, so a team pinning its IDE version has to settle compatibility outside the documentation.

## No device picker, no output, no documented failures

Every gap here is a silence in the documentation rather than a verdict on the code. With 2 devices attached at once, nothing explains how the plugin picks one: there is no device list, no serial field and no override for pointing at a different adb binary. There is no output pane either, so the 6 actions return you to the editor with nothing on screen, and no error text is described for an adb missing from PATH or for a package not installed on the target. Clear App Data and Clear App Data and Restart drop local state with no confirmation step mentioned anywhere, which makes them quick and easy to misfire. For a plugin whose own description is speeding up day to day android development, that silence is the part to weigh, since the actions skip the confirmation and the printed result a careful manual invocation gives you.

## Repository scripts the README leaves unexplained

The repository root collects the part documentation never reaches. Four executable scripts sit there and not one of them is explained in prose:

```bash
gradlew
gradlew.bat
list-studio-versions.sh
release.sh
```

Gradle's wrapper appears in shell and batch form, one script is named for enumerating Studio versions, and the fourth is named for the build rather than for a task you would recognise. DEVELOP.md sits beside them without a single documented build or run command, so a first-time contributor inherits a wrapper, a version lister and a build script with no instructions for any of the three. website/ carries the 2 images the documentation embeds, and they are the whole visual record:

```bash
website/adb_operations_popup.png
website/find_actions.png
```

Both depict the 2 keyboard routes. Neither depicts the Tools->Android->ADB Idea menu path that the same documentation spends a section on, which leaves the third route the only one a reader cannot picture.

## Terminal adb keeps what the plugin leaves out

The real alternative is not another plugin but the adb binary in a terminal, and the difference is concrete. Hand-typed adb lets you name the device, capture stdout, chain lifecycle commands with other tools and run the same line from a script on a build machine. The plugin gives up all 4 of those in exchange for never leaving the editor. Its 6 actions exist only inside the IDE, they are reached through 3 menu and key routes, and there is no command line entry point for them, so nothing the plugin does can be reused in a script, a fixture or a shared machine. The exchange is honest: context switching out, output and device control in. What the 6 commands never covered, such as reading anything back off the device, stays uncovered, because they stop at process and data lifecycle.

## What to verify before a team adopts it

Adopting it is a small decision with a narrow surface. The plugin installs from the marketplace, updates through the same plugin manager and asks for no configuration, so per-machine setup costs one install. LICENSE.txt carries the Apache License, Version 2.0 text, headed by a 2017 copyright line for Philippe Breault, and that is the full redistribution picture for anyone reusing the code. The last push on the default branch master was on 2026-05-11. Three checks are worth making before a team depends on it: which IDE builds the marketplace page currently serves, whether your devices are usually one at a time, and whether anyone needs to read the result of those 6 commands rather than only their effect.

## Conclusion

ADB Idea earns its slot on any machine where the same app is reinstalled and restarted again and again, because 6 fixed-number actions remove the terminal round trip without adding anything you have to configure. It is the wrong choice for a pipeline, for anyone who routinely attaches 2 devices, and for a team that needs command output rather than only the effect. Before standardising on it, check which IDE builds the marketplace page serves, and whether your own workflow needs anything past the 6 commands.

## FAQ

### How do I install ADB Idea in Android Studio?

Open Preferences/Settings->Plugins->Browse Repositories inside the IDE and install it from there. If that route does not serve it, download plugin 7380 from the JetBrains plugin site and use Preferences/Settings->Plugins->Install plugin from disk.

### Which adb commands does ADB Idea add to the IDE?

Six: uninstall the app, kill it, start it, restart it, clear its data, and clear its data and restart. The plugin adds nothing else.

### What opens the ADB Idea Quick Operations Popup?

Ctrl+Shift+A on Mac OSX, and Ctrl+Alt+Shift+A on Windows and Linux. Every row in the popup shows a number on the left that acts as the shortcut for that operation.

### Can I change which number key runs each adb command?

The README documents no way to remap them, and no settings page or config key for the plugin is named. The only keys it gives are the 2 popup shortcuts.

### Does ADB Idea work when two devices or emulators are connected?

The README says nothing about choosing between devices, and no device picker appears in the documentation. There is no documented path for a multi-device workflow.

### Is ADB Idea for plain IntelliJ IDEA, or Android Studio only?

The project describes itself as a plugin for Android Studio and Intellij IDEA. Its menu route runs through Tools->Android->ADB Idea, and no minimum IDE build or companion Android plugin is named.

## Sources

- [Issues](https://github.com/pbreault/adb-idea/issues)
- [License: Apache-2.0](https://github.com/pbreault/adb-idea/blob/master/LICENSE)
- [pbreault/adb-idea on GitHub](https://github.com/pbreault/adb-idea)
- [README](https://github.com/pbreault/adb-idea/blob/master/README.md)
- [Releases](https://github.com/pbreault/adb-idea/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/pbreault-adb-idea
