ASHWIN990/ADB-Toolkit

ADB-Toolkit V2 for easy ADB tricks with many perks in all one. ENJOY!

1
Hotness score
9
Reliability score
2,002
Stars
over 7 years
Age
0
Published reviews
0
Questions

Scores

Hotness and reliability

The two headline scores, measured daily, with 30, 90, and 180 day views.

Hotness score

Jul 19, 2026

Current1

Previous6

Weekly average

100500
Full metrics details

Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.

180 observed daily rows. Missing days are not fabricated.

Hotness formula

40% Hot today + 40% Hot this week + 20% Breakout.

  • 40% Hot today: 1
  • 40% Hot this week: 1
  • 20% Breakout: 1
  • Stars gained: 1d: 0
  • Stars gained: 7d: 0
  • Stars gained: 14d: 0
  • Stars gained: 30d: 9
  • Stars gained: 90d: 66

Per-day formula: 0.40 × Hot today + 0.40 × Hot week + 0.20 × Breakout.

  • Same-day multiplier = stars 1d ÷ max(1, stars 7d ÷ 7)
  • Weekly multiplier = stars 7d ÷ max(1, stars 30d ÷ 30 × 7)
  • Fortnight multiplier = stars 14d ÷ max(1, stars 90d ÷ 90 × 14)
  • Hot today = clamp(70 × log-scale(stars 1d, 1000) + 30 × breakout-scale(same-day, 4))
  • Hot week = clamp(75 × log-scale(stars 7d, 5000) + 25 × breakout-scale(weekly, 3))
  • Breakout = clamp(35 × breakout-scale(same-day, 4) + 40 × breakout-scale(weekly, 3) + 25 × breakout-scale(fortnight, 2.5))
DateStarsStars 1dStars 7dStars 14dStars 30dStars 90dSame-day multiplierWeekly multiplierFortnight multiplierHot todayHot weekBreakoutStored score

Reliability score

Jul 19, 2026

Current9

Previous9

Weekly average

100500
Full metrics details

Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.

180 observed daily rows. Missing days are not fabricated.

Reliability formula

30% Continuity + 30% Closure + 20% Shipping + 10% Liveness + 10% Support burden.

  • 30% Continuity: 4
  • 30% Closure: 0
  • 20% Shipping: 0
  • 10% Liveness: 0
  • 10% Support burden: 76

Per-day formula: 0.30 × Continuity + 0.30 × Closure + 0.20 × Shipping + 0.10 × Liveness + 0.10 × Support burden.

  • Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
  • Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
  • Shipping = 100 × (20% × release ratio 30d + 30% × release ratio 90d + 50% × release ratio 180d); ratios are releases ÷ 2, 6, and 12, capped at 1
  • Support burden = 100 − 2 × open issues per 1,000 stars
  • Liveness = 100 × exp(−pushed days ago ÷ 120)

Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.

DateIssues openedIssues closedPRs openedPRs mergedReleasesStarsOpen issuesPushed days agoContinuityClosureShippingLivenessSupport burdenLicenseObserved daysMissing daysNeeds healingStored score

Reliability breakdown

What drives the reliability score

Component scores measured daily from GitHub activity (2026-04-29).

Continuity30% of headline4

Activity on 0 of 90 tracked days in the last 90 and 0 of 30 in the last 30.

Closure30% of headline0

Merged 0 of 0 PRs opened and closed 0 of 0 issues opened over the last 90 tracked days — PR flow carries 55% of this component, issue flow 45%.

Shipping20% of headline0

0 releases in the last 180 days, 0 in the last 90 and 0 in the last 30 — a steady cadence scores highest.

Liveness10% of headline0

Last push 701 days ago — freshness decays as pushes age (roughly halves every 83 days without a push).

Support burden10% of headline76

Open-issue load isn't tracked for this repo yet.

Adoption confidence4

Modeled — how confidently teams are adopting this repo. Stargazers

Maintenance quality10

Modeled from PR/issue responsiveness and upkeep signals. Activity pulse

Risk score77

Modeled — lower is better; adoption and continuity risk. Repository

Stays active (30d)0%

Modeled chance the repo stays active over 30 days. Activity pulse

Stays active (90d)4%

Modeled chance the repo stays active over 90 days. Activity pulse

Release rhythm (180d)0

Regularity of releases over the last 180 days. Releases

Maintainer bus risk (90d)92%

Modeled — lower is better; concentration of commits in few maintainers. Contributors graph

Topics

Explore related topics

Jump into the topic listings this repository belongs to.

Measured history

Project metrics

Weekly GitHub totals with 30, 90, and 180 day views.

Weekly star gains

Jul 19, 2026

Current0

Previous-1

Weekly star gains

26-3-32
Full metrics details

GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

180 observed daily rows. Missing days are not fabricated.

DateValue

Cumulative stars

Jul 19, 2026

Current2,002

Previous2,002

Cumulative total

2,0041,0020
Full metrics details

Running total of the GitHub GraphQL stargazer count over time (not weekly deltas), reconstructed from starredAt events and totalCount in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

180 observed daily rows. Missing days are not fabricated.

DateValue

Issues opened

Jun 14, 2026

Current0

Previous0

Weekly total

110
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

144 observed daily rows. Missing days are not fabricated.

DateValue

Issues closed

Jun 14, 2026

Current0

Previous0

Weekly total

110
Full metrics details

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

144 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests opened

Jun 14, 2026

Current0

Previous0

Weekly total

110
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

144 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests closed

Jun 14, 2026

Current0

Previous0

Weekly total

110
Full metrics details

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

144 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests merged

Jun 14, 2026

Current0

Previous0

Weekly total

110
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

144 observed daily rows. Missing days are not fabricated.

DateValue

Project Overview

ADB-Toolkit is a Shell script that wraps Android Debug Bridge (ADB) commands into a menu-driven interface. Instead of memorizing dozens of ADB flags and syntax, you get a numbered menu that lets you run common Android device operations — app management, screen capture, file transfer, device info, and more — by selecting options rather than typing raw commands.

The project targets developers and enthusiasts who work with Android devices regularly but find raw ADB syntax tedious to recall mid-session. V2 adds more operations and a cleaner menu structure compared to the original release.

One thing to know upfront: this is a personal convenience script by a single contributor with no formal release process, no changelog, and no test suite. Factor that into any decision to depend on it in a shared or repeatable workflow.

Key Challenges Addressed

Raw ADB has a steep recall curve. The same developer who can write complex build scripts will blank on whether it is adb shell pm list packages -3 or adb shell pm list packages -f when needed in a hurry. ADB-Toolkit targets three specific friction points:

  • Command recall overhead: the menu maps readable descriptions to correct ADB invocations so you do not need the man page open.

  • Multi-step operations: some useful workflows (like wireless debugging setup) require several sequential ADB commands in the right order. The toolkit chains these so you do not skip a step.

  • Shell environment friction: on Windows especially, running raw ADB in a consistent bash environment is awkward. The script gives you a predictable execution layer.

Getting Started

Clone the repository and make the script executable:

git clone https://github.com/ASHWIN990/ADB-Toolkit.git
cd ADB-Toolkit
chmod +x ADB-Toolkit.sh
./ADB-Toolkit.sh

Prerequisites you must satisfy first:

  • ADB must be installed and on your PATH. On macOS: brew install android-platform-tools. On Linux: sudo apt install adb. The script does not check for this — you will get confusing errors from ADB itself if adb is not found.

  • A device must be connected via USB with USB debugging enabled, or already paired via adb pair for wireless. Running the toolkit without a recognized device produces error: no devices/emulators found from ADB, which the script does not catch or explain.

  • Run inside a bash shell. Zsh compatibility is not tested and some menu inputs may behave differently.

Sharp edges you will hit immediately:

  • If you have multiple devices connected, ADB will error unless a specific device is targeted via -s. ADB-Toolkit has no device selector — disconnect extra devices before using it or operations will fail.

  • Some adb shell commands differ between Android versions. A command that works on Android 12 may fail silently on Android 8. The toolkit documents no per-command API-level requirements.

Features and Use Cases

The toolkit organizes operations into a numbered top-level menu. Typical use cases:

App management: install, uninstall, list installed packages, clear app data, force-stop apps. Useful during development when you are repeatedly cycling through fresh installs without opening Android Studio.

Device information: dump build props, check battery status, retrieve device identifiers. Handy for quick device profiling before running device-specific tests.

File operations: push and pull files between your host and the device /sdcard/ tree. If you do a lot of manual file testing, this saves typing the full adb push /path/to/local /sdcard/target form repeatedly.

Screen capture and recording: take screenshots and screen recordings and pull them to the local machine automatically. Faster than navigating the device manually for capturing test evidence.

Networking and wireless ADB: automates the adb tcpip and adb connect sequence for Wi-Fi debugging. This is where the toolkit saves the most practical time — the two-command sequence has to happen in the right order every session, and a missed step means starting over.

System and shell access: quick entry into adb shell, reboot to recovery or bootloader, and a handful of root-oriented commands for rooted devices.

Ecosystem and Dependencies

ADB-Toolkit has no dependencies beyond ADB itself and bash. It does not wrap any higher-level Android tooling.

If you need screen mirroring and remote control on top of ADB operations, scrcpy is actively maintained and explicitly supports multi-device selection via -s — a gap ADB-Toolkit does not fill.

For colorized logcat filtering during debugging, pidcat pairs well with this toolkit. It handles log presentation while ADB-Toolkit handles device control. Note that pidcat's commit activity has slowed in recent years; check its issue tracker for current Android API-level compatibility before adopting it.

If you already use Android Studio, its built-in Device Manager and Logcat cover most of the same operations with better error handling and a GUI. ADB-Toolkit's value is specifically on the command line without an IDE open.

Architectural Overview

The entire project is a single bash script (ADB-Toolkit.sh) with nested case statements driving menu navigation. Each menu selection executes one or more adb subprocess calls, then returns to the menu on completion.

This design is easy to read and modify. Adding a new operation means adding one menu entry and one case branch. There is no state management, no configuration file, and no plugin layer.

The flat-script design also means there is no separation between UI and logic. If you want to automate a specific operation non-interactively — for example, in a CI step — you cannot call it by function name or flag. You will need to invoke the raw ADB command directly or modify the script to accept arguments.

Pros and Cons

Pros:

  • Zero setup beyond ADB itself. Clone and run immediately.

  • Useful for developers who use ADB sporadically and do not retain full command syntax between sessions.

  • Readable bash source — you can see exactly what ADB command each menu item runs, which builds your own ADB knowledge over time.

  • The wireless debugging setup sequence is the biggest practical time-saver: two commands that have to run in the right order, automated into one menu selection.

Cons:

  • Single-maintainer project with no formal release process, no changelog, and no semantic versioning.

  • No multi-device support. With more than one device connected, most operations fail or target the wrong device.

  • Interactive-only design. You cannot use this in CI pipelines, automation scripts, or any headless context.

  • No error handling for common failures: ADB not found, no device connected, insufficient permissions. Errors pass through from ADB directly with no actionable guidance.

  • Android API-level compatibility is undocumented per command.

Comparison and Alternatives

Measured 90-day trends for this project and its alternatives.

GitHub stars

Weekly star gains

651325-1
Full metrics details

GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

ADB Toolkit

GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
scrcpy

GitHub GraphQL current stargazer cohort, reconstructed from starredAt events and totalCount retrieved in one stable pagination walk. GitHub does not expose historical unstar events, so this is not an exact ledger of past star counts.

81 observed daily rows. Missing days are not fabricated.

DateValue

Issues opened

Weekly total

110
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

ADB Toolkit

GitHub API observation. Historical values render only when the source provides a real observation for that day.

144 observed daily rows. Missing days are not fabricated.

DateValue
scrcpy

GitHub API observation. Historical values render only when the source provides a real observation for that day.

36 observed daily rows. Missing days are not fabricated.

DateValue

Issues closed

Weekly total

110
Full metrics details

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

ADB Toolkit

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

144 observed daily rows. Missing days are not fabricated.

DateValue
scrcpy

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

36 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests opened

Weekly total

110
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

ADB Toolkit

GitHub API observation. Historical values render only when the source provides a real observation for that day.

144 observed daily rows. Missing days are not fabricated.

DateValue
scrcpy

GitHub API observation. Historical values render only when the source provides a real observation for that day.

36 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests closed

Weekly total

110
Full metrics details

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

ADB Toolkit

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

144 observed daily rows. Missing days are not fabricated.

DateValue
scrcpy

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

36 observed daily rows. Missing days are not fabricated.

DateValue

Pull requests merged

Weekly total

110
Full metrics details

GitHub API observation. Historical values render only when the source provides a real observation for that day.

ADB Toolkit

GitHub API observation. Historical values render only when the source provides a real observation for that day.

144 observed daily rows. Missing days are not fabricated.

DateValue
scrcpy

GitHub API observation. Historical values render only when the source provides a real observation for that day.

36 observed daily rows. Missing days are not fabricated.

DateValue

Open/closed pull request ratio

Weekly average

100500
Full metrics details

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

ADB Toolkit

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
scrcpy

GitHub Search pull-request totals queried for exact UTC days; rolling values are sums of proven daily counts.

81 observed daily rows. Missing days are not fabricated.

DateValue

Open/closed issues ratio

Weekly average

100500
Full metrics details

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

ADB Toolkit

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

180 observed daily rows. Missing days are not fabricated.

DateValue
scrcpy

GitHub Search issue totals queried for exact UTC days; rolling values are sums of proven daily counts.

81 observed daily rows. Missing days are not fabricated.

DateValue

Releases

Weekly total

110
Full metrics details

GitHub release published_at events bucketed by UTC day; drafts are excluded.

ADB Toolkit

GitHub release published_at events bucketed by UTC day; drafts are excluded.

180 observed daily rows. Missing days are not fabricated.

DateValue
scrcpy

GitHub release published_at events bucketed by UTC day; drafts are excluded.

81 observed daily rows. Missing days are not fabricated.

DateValue

Hotness score

Weekly average

100500
Full metrics details

Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.

ADB Toolkit

Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.

180 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.40 × Hot today + 0.40 × Hot week + 0.20 × Breakout.

  • Same-day multiplier = stars 1d ÷ max(1, stars 7d ÷ 7)
  • Weekly multiplier = stars 7d ÷ max(1, stars 30d ÷ 30 × 7)
  • Fortnight multiplier = stars 14d ÷ max(1, stars 90d ÷ 90 × 14)
  • Hot today = clamp(70 × log-scale(stars 1d, 1000) + 30 × breakout-scale(same-day, 4))
  • Hot week = clamp(75 × log-scale(stars 7d, 5000) + 25 × breakout-scale(weekly, 3))
  • Breakout = clamp(35 × breakout-scale(same-day, 4) + 40 × breakout-scale(weekly, 3) + 25 × breakout-scale(fortnight, 2.5))
DateStarsStars 1dStars 7dStars 14dStars 30dStars 90dSame-day multiplierWeekly multiplierFortnight multiplierHot todayHot weekBreakoutStored score
scrcpy

Derived only from GitHub GraphQL starredAt events after daily star totals are reconciled.

81 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.40 × Hot today + 0.40 × Hot week + 0.20 × Breakout.

  • Same-day multiplier = stars 1d ÷ max(1, stars 7d ÷ 7)
  • Weekly multiplier = stars 7d ÷ max(1, stars 30d ÷ 30 × 7)
  • Fortnight multiplier = stars 14d ÷ max(1, stars 90d ÷ 90 × 14)
  • Hot today = clamp(70 × log-scale(stars 1d, 1000) + 30 × breakout-scale(same-day, 4))
  • Hot week = clamp(75 × log-scale(stars 7d, 5000) + 25 × breakout-scale(weekly, 3))
  • Breakout = clamp(35 × breakout-scale(same-day, 4) + 40 × breakout-scale(weekly, 3) + 25 × breakout-scale(fortnight, 2.5))
DateStarsStars 1dStars 7dStars 14dStars 30dStars 90dSame-day multiplierWeekly multiplierFortnight multiplierHot todayHot weekBreakoutStored score

Reliability score

Weekly average

100500
Full metrics details

Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.

ADB Toolkit

Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.

180 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.30 × Continuity + 0.30 × Closure + 0.20 × Shipping + 0.10 × Liveness + 0.10 × Support burden.

  • Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
  • Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
  • Shipping = 100 × (20% × release ratio 30d + 30% × release ratio 90d + 50% × release ratio 180d); ratios are releases ÷ 2, 6, and 12, capped at 1
  • Support burden = 100 − 2 × open issues per 1,000 stars
  • Liveness = 100 × exp(−pushed days ago ÷ 120)

Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.

DateIssues openedIssues closedPRs openedPRs mergedReleasesStarsOpen issuesPushed days agoContinuityClosureShippingLivenessSupport burdenLicenseObserved daysMissing daysNeeds healingStored score
scrcpy

Derived from the displayed continuity, closure, shipping, liveness, and support-burden components.

81 observed daily rows. Missing days are not fabricated.

Per-day formula: 0.30 × Continuity + 0.30 × Closure + 0.20 × Shipping + 0.10 × Liveness + 0.10 × Support burden.

  • Continuity = 35% active ratio 90d + 20% active ratio 30d + 15% PR efficiency 90d + 10% PR efficiency 30d + 10% liveness + 10% observed-history coverage
  • Closure = 55% PR merge efficiency 90d + 45% issue close efficiency 90d
  • Shipping = 100 × (20% × release ratio 30d + 30% × release ratio 90d + 50% × release ratio 180d); ratios are releases ÷ 2, 6, and 12, capped at 1
  • Support burden = 100 − 2 × open issues per 1,000 stars
  • Liveness = 100 × exp(−pushed days ago ÷ 120)

Stars, issues, pull requests, and releases are daily observations. Pushed-days and license are repository snapshot-derived inputs and are not independent historical GitHub events.

DateIssues openedIssues closedPRs openedPRs mergedReleasesStarsOpen issuesPushed days agoContinuityClosureShippingLivenessSupport burdenLicenseObserved daysMissing daysNeeds healingStored score
Project Repo Hotness (~6mo) PRs merged (~6mo) Star growth (~6mo)
ADB-Toolkit https://github.com/ASHWIN990/ADB-Toolkit 3.71 0 262
scrcpy https://github.com/Genymobile/scrcpy 3.69 0 46170
pidcat https://github.com/JakeWharton/pidcat metrics pending 0 metrics pending

scrcpy covers the same ADB convenience space with far stronger maintenance signals: it is actively developed by Genymobile, has thorough official documentation, handles multi-device selection explicitly via -s, and adds screen mirroring and remote control on top of a full ADB operation set.

pidcat covers a narrower scope — colorized logcat filtering — but does it precisely. It is written by Jake Wharton and is widely used in Android development. Commit activity has slowed, so verify current Android API-level support before adopting it.

The best overall alternative is scrcpy. It has the strongest maintenance signals of the two, explicit multi-device support, richer documentation, and a significantly wider feature set while remaining command-line-first.

Conclusion

ADB-Toolkit is the right pick for solo Android developers who want a fast command-line menu for routine device tasks without memorizing ADB flag syntax. Start with the official repository and you are running in under a minute.

Do not use ADB-Toolkit with multiple devices connected — it has no -s device selector, so operations will fail or silently target the wrong device. Before your first session, run adb devices and confirm exactly one entry appears.

Join the conversation

Reviews · Questions · Posts

Share what you know about ADB-Toolkit — write a review from your real experience, ask an implementation question, or publish a post about how you use it.

Share your experience

Write or update your review

Explain what worked, what broke down, and what another team should know before adopting ADB-Toolkit.

Write your review now — it saves locally and publishes automatically after you sign in.

Rating
Positive attributes
Negative attributes

Project Q&A

Questions and answers

Browse implementation threads tied directly to ASHWIN990/ADB-Toolkit. Each question links through to the full answer page.

Q&A No threads yet

Be the first to ask how teams run ADB-Toolkit in production. Every question you post becomes a durable, searchable answer page other developers can find.

Ask the first question

Related posts

Posts tagged with the same topics

These posts come from the same topic surface as this repo, so readers can move from project evaluation into practical writeups and migration notes without leaving context.

Posts No topic-linked posts yet

Share how your team uses ADB-Toolkit — a migration note, an architecture writeup, or a comparison. Your post reaches everyone browsing these same topics.

Write the first post
Get a weekly email with the hottest new projects in the Adb and Adb Toolkit world.
No Spam. Unsubscribe easily at any time.

Copyright 2018-2026 Awesome Open Source.  All rights reserved.