
Public beta. Android Gradle Tools is under active development for VS Code and Cursor. Feedback through Marketplace reviews and GitHub issues directly shapes the roadmap.
Android extension for VS Code and Cursor. Android Gradle Tools brings Android Gradle build, install, deploy, ADB device targeting, Android Emulator workflows, APK caching, Logcat, build variants, JDWP attach debugging, release signing, and bundled Android AI agent skills into one editor surface. It is tuned for Android app development without juggling ./gradlew, adb, logcat, and terminal tabs.
Install from the Visual Studio Marketplace or search Android Gradle Tools in the Extensions view.

Android workflows covered
- Android Gradle build, install, deploy, clean, and sync from VS Code or Cursor.
- ADB device targeting for physical Android devices, wireless ADB, remote ADB, and Android Emulator / AVD workflows.
- Android Logcat filtering by package, tag, level, crash, stack trace, text, and regex, with local clear separate from confirmed device-buffer clearing.
- APK cache browsing, reinstall, rollback, comparison, and sharing for successful Android builds.
- Android build variants, Gradle modules, multi-root workspaces, release signing, and JDWP attach debugging.
- Android AI agent skills for screen inspection, build triage, Logcat debugging, and device-lab workflows.
Why use it?
Android Gradle Tools sits between terminal-only Android development and a full Android Studio session: light enough to stay inside VS Code, structured enough for real Android Gradle / ADB / Logcat iteration, and carefully tuned so routine Android app workflows stay obvious.
| Workflow need |
Android Gradle Tools |
Manual terminal loop |
| Build / install |
Pick Android Gradle root, module, variant, and device in one panel |
Re-type Gradle tasks, adb serials, and cd paths |
| Device targeting |
Live Android device / emulator picker with auto-selection |
adb devices, emulator checks, serial flags |
| Logcat |
Integrated Android Logcat filters, presets, exports, stack-trace links |
Long adb logcat pipelines |
| Gradle daemons |
Isolated GRADLE_USER_HOME by default, idle cleanup |
Shared daemon pool unless configured manually |
| APK history |
Browse cached successful outputs |
Hunt through build/outputs/apk |
| AI assistant context |
Symlinked Android skills for Codex, Claude, Copilot, Gemini, and Cursor |
Manual screenshots, UIAutomator dumps, Logcat scans, and build-log summaries |
It also coexists cleanly with Android Studio. By default, extension builds use a dedicated GRADLE_USER_HOME, so panel builds do not share Studio's daemon pool. Idle daemons are stopped on a configurable timer with ./gradlew --stop, scoped to the extension Gradle home unless you opt out of isolation.
What you get
Build and deploy
- Build, install, deploy, clean, and sync Android Gradle projects from the Android side panel.
- Pick the active Android Gradle root, module, and build variant without memorizing task names.
- Run Cold AVD + Install: assemble while an offline emulator starts, then install when it finishes booting.
- Launch the app after install using the detected
applicationId / namespace, with a manual override when needed.
- Cache successful APK outputs for rollback, comparison, sharing, or re-install.
Devices and variants
- Switch physical devices and emulators from the Build card or status bar.
- Auto-select a sensible target when devices connect, reconnect, or disappear.
- Discover variants from Gradle and cache them per module with validation that avoids surprise background Gradle runs.
- Reuse variant discovery results when Gradle inputs are unchanged, including when the same project is reopened under a different VS Code workspace identity.
- Keep multi-root workspaces explicit with a dedicated Gradle root picker.
Logcat and build output
- Open Android Logcat in a dedicated webview with level, tag, package, crash, stack-trace, text, and regex filters.
- Restart Logcat without clearing the device-wide buffer by default; use the overflow Clear device buffer... action when you intentionally want
adb logcat -c.
- Save frequent filter combinations as presets and export filtered output as
.txt / .log.
- Open stack traces such as
File.kt:42 directly in the editor.
- End builds with a structured summary: result, duration, APK path, and extracted failure reasons.
- Keep full errors available through Android: Show Full Build Errors when a build fails.
Release, debug, and remote workflows
- Set up release signing from the panel: pick or generate a keystore, detect aliases, store passwords in VS Code SecretStorage, and inject
signingConfigs into Gradle files with a diff preview.
- Attach the Android JDWP debugger to a running Java / Kotlin process through local
adb port forwarding.
- Use Wireless Remote ADB over same Wi-Fi, VPN / mesh, or an internet relay backed by
adb-relay-android and adb-relay-jvm.
AI assistant skills
- Link bundled Android skills into detected Codex, Claude, Copilot, Gemini, and Cursor home folders from panel settings.
- Use
android-screen-inspector, android-build-triage, android-logcat-debugger, and android-device-lab for adb-first screen reads, build failure diagnosis, runtime log analysis, and device / emulator verification.
- Keep the extension as the source of truth: enabled agents receive extension-owned symlinks, disabling removes only those symlinks, and provider rows stay hidden until the matching agent folder exists.
- Replace broken or third-party skill symlinks only after an explicit confirmation, while preserving real user-owned files.
- Discover the AI Agents settings from a dismissible panel banner above the CPU / RAM dock; dismissals stay quiet for 7 days unless a new agent folder appears.
Panel polish
- Configure the extension from a visual panel settings sheet tuned for the easiest possible setup, with a readable dark surface above the panel instead of hand-editing JSON for common workflows.
- Use a shared Material 3 / JetBrains-style visual language across the Android panel, Logcat, APK cache, settings sheet, wireless guide, menus, and popovers.
- Track local JVM CPU and RAM with a compact telemetry dock powered by
jps, including process count, total CPU / memory, separate sparklines, and a hide/show control.
- Show the active device in the status bar.
- Use a polished Build surface with stable action-button sizing, softer section borders, smoother loading skeletons, clearer Gradle busy labels, and elapsed time aligned next to Cancel.
- Submit crash reports only after reviewing a sanitized payload in the browser; nothing is sent automatically.
Get started
- Open a standard Android Gradle project with
gradlew or gradlew.bat.
- Open the Android side panel from the activity bar, or run Android: Open side panel.
- Pick a Gradle root, module / variant, and device.
- Click Install, Compile, Clean, or Sync Gradle.
- Open Logcat from the panel or run Android: Logcat.
- Optional: enable AI Agents in panel settings to link Android skills for Codex, Claude, Copilot, Gemini, or Cursor.
If setup behaves strangely, run Android: Run Diagnostics and open Android: Show System Gradle Log to inspect the generated preflight report.
Requirements
- VS Code or Cursor compatible with VS Code
^1.85.0.
- A standard Android Gradle project with a Gradle Wrapper.
adb on PATH, or an Android SDK path configured in the extension.
- Android Emulator is optional; when configured, the device picker can start AVDs.
- A JDK for Gradle. You can set it from the panel settings or
android-ide-extension.gradleJavaHome.
Commands
| Command |
Purpose |
| Android: Open side panel |
Open the main Android workflow surface |
| Android: Build Project / Android: Build and Install |
Compile or install the selected target |
| Android: Clean Project / Android: Sync Gradle project |
Run common Gradle maintenance flows |
| Android: Build Variants / Android: Pick Gradle module / Android: Pick Gradle root |
Control active Gradle context |
| Android: Select Device |
Pick a device or emulator |
| Android: Run Diagnostics |
Print a preflight report for Gradle root, SDK / ADB, JDK, device, AVD, module, and variant setup |
| Android: Logcat |
Open the integrated Logcat viewer |
| Android: Open cached APK builds |
Browse successful cached outputs |
| Android: Set up release signing |
Create or select signing configuration |
| Android: Attach Debugger to Process |
Attach JDWP debugger to a running app process |
| Android: Wireless / remote ADB (guided setup) |
Configure remote device access |
| Android: Stop Gradle daemons |
Stop extension-scoped Gradle daemons |
Settings
Most setup happens from the Android panel gear. The settings UI is tuned to make configuration as easy as possible: choose a JDK, point to an Android SDK, tune Gradle daemon cleanup, link AI agent skills, configure Remote ADB, and adjust panel polish without leaving the workflow.
You can also search Android Gradle Tools in VS Code Settings when you prefer the full settings view.
| Area |
Key settings |
| Gradle tasks |
installTask, buildTask, defaultGradleModule, gradleExtraArgs |
| Gradle runtime |
gradleRunner, gradleJavaHome, buildOutputChannel |
| Daemon hygiene |
gradleIsolateUserHome, gradleUserHome, gradleDaemonIdleStopMinutes, stopGradleDaemonsOnDeactivate |
| Android SDK / device |
androidSdkPath, emulatorLaunchArgs, showStatusBarDevice |
| Post-install launch |
launchAppAfterInstall, launchApplicationId |
| Wireless Remote ADB |
remoteAdbRelayUrl, remoteAdbListenHost, remoteAdbLocalPort |
| Privacy |
crashReportEnabled |
Sensible defaults work for typical debug workflows. The most important default is gradleIsolateUserHome = true, which keeps extension Gradle daemons separate from Android Studio and your normal ~/.gradle pool.
Privacy and crash reporting
Crash reporting is opt-in at the point of submission. When an unexpected extension error is caught, Android Gradle Tools can open a browser page with a sanitized payload for review. Nothing leaves your machine until you press Submit.
Crash reporting can be turned off from the panel settings or VS Code Settings.
The bundled AI skills are local and adb-first. Screen inspection is read-only, and the skills do not send data to any network service by themselves.
Release notes
0.3.1 - 2026-06-17
- Made bundled AI skill links survive extension updates by linking agent folders to a stable managed copy instead of the versioned extension package path.
- Auto-migrated legacy extension-owned skill symlinks while still preserving user-owned files and unknown symlink targets.
- Kept android-screen-inspector adb-only by removing its Node helper and documenting direct screenshot / UIAutomator capture commands.
0.3.0 - 2026-06-13
- Added Android: Run Diagnostics, a read-only preflight report for Gradle roots, SDK / ADB tools, JDK / Gradle environment, device selection, ADB devices, AVDs, module, and variant setup.
- The report writes to Android: Show System Gradle Log and finishes with a concise OK / WARN / FAIL / INFO summary.
- Kept command registration, activation, README, feature catalog, and regression coverage aligned for the new diagnostics workflow.
Full changelog
| |