adb_utils
A Dart library for interacting with ADB (Android Debug Bridge) server and devices.
0.4.7
desodre/adb_utils
What this package is like to depend on
Last release today
22 Aug 2026
Release timing varies
gaps range from 2 weeks to 3 months
Most releases are documented
notes for 12 of 14 stable releases
Nothing withdrawn
no release was ever pulled
4 months old
14 releases · first in 2026
14 releases in the last 12 months
see the full history below
Release timeline
14 releases · Apr 2026 to Aug 2026Releases
latest 14-
0.4.722 Aug 2026Release notes
Open source →- feat(sync): implemented the native
LISTprotocol command inAdbSyncto read remote directories. - feat(models): introduced the strongly typed
AdbDirEntrymodel with built-in Unix file-mode decoding (permissionsOctal/permissionsString,isDirectory,isFile,isLink) and safe UTC timestamps. - test: added a dedicated unit-test suite at
test/sync_list_test.dartto validate model parsing and mock socket-server protocol exchanges (success, sentinel filtering, and FAIL/error handling).
- feat(sync): implemented the native
-
0.4.620 May 2026Release notes
Open source →- fix(phantom): replaced Logcat-based dynamic port discovery with a deterministic file handshake in app-private storage (
context.filesDir/phantom_ports.json). - fix(phantom): the Dart client now reads and cleans the handshake file using
run-as com.example.phantom_agentto avoid sandbox permission errors on/data/local/tmpand/tmp. - fix(phantom): instrumentation now starts asynchronously without relying on shell redirection, improving compatibility across real devices and emulators.
- test(phantom): updated
phantom_client_test.dartexpectations forrun-asfile polling and cleanup. - chore(phantom): refreshed embedded Phantom APK artifacts and regenerated
phantom_binaries.dart.
- fix(phantom): replaced Logcat-based dynamic port discovery with a deterministic file handshake in app-private storage (
-
0.4.420 May 2026Release notes
Open source →- feat(logging): added structured Smart Logs with
package:logging, including hierarchical loggers per device/Phantom serial and configurable global logging bootstrap. - feat(observability): added contextual telemetry (
FINE,INFO,WARNING,SEVERE) for shell execution, Phantom startup, dynamic-port discovery, and TCP forwarding. - feat(shell-smart-trace): non-zero
shell2exit codes now emit SEVERE smart traces with command, exit code, and sanitized output. - fix(phantom): hardened dynamic port discovery with Logcat cleanup, polling retries/fallbacks, and improved resilience in noisy multi-device environments.
- fix(tests): stabilized integration suites by isolating destructive scenarios, improving environment gating, and converting transient infrastructure failures into contextual skips where appropriate.
- docs: synchronized
adb_utilsandphantom_agentdocumentation with the dynamic-port architecture (ServerSocket(0)+adb forward) and updated troubleshooting guidance.
- feat(logging): added structured Smart Logs with
-
0.4.319 May 2026Release notes
Open source →- feat(phantom): embedded Phantom APK binaries in Dart source through Base64, removing the runtime dependency on local APK paths.
- feat(phantom): refactored
PhantomClient.startAgent()to install embedded binaries through safe temporary files created at runtime. - feat(phantom): added the
AdbDevice.phantomextension for ergonomic usage (await device.phantom.startAgent();). - build(tooling): added
tool/generate_base64_apks.dartto regeneratelib/src/phantom/phantom_binaries.dart. - docs: updated the README, docs, and examples for the new no-path Phantom startup flow.
-
0.4.219 May 2026Release notes
Open source →- docs: updated documentation to reflect the latest changes in release 0.4.2.
- example: added examples.
-
0.4.019 May 2026Release notes
Open source →- feat(phantom): added
PhantomClient.startVideoStream()for raw H.264 streaming.- Automatically configures
adb forward tcp:9009 -> tcp:9009. - Opens a native
Socketon127.0.0.1:9009and returns it asStream<List<int>>. - Added API docs clarifying the stream contains raw H.264 NAL units.
- Automatically configures
- feat(reporting): added automated HTML test reporting utilities.
- Added
TestResultmodel (lib/src/reporting/test_result.dart). - Added
HtmlReporter(lib/src/reporting/html_reporter.dart) with summary cards and failure evidence blocks (mensagemErro+stackTracein<pre><code>). - Added sequential test wrapper
TestRunner(lib/src/reporting/test_runner.dart). - Exported reporting APIs in
lib/adb_utils.dart. - Added demo runner at
bin/test_runner.dartthat writesreport.html.
- Added
- test(reporting):
dart testnow generatesreport.htmlautomatically.- Added
test/helpers/reporting_test.dartto capture per-test results and failures. - Integrated reporting helper in unit and integration suites:
test/adb_utils_test.darttest/phantom_client_test.darttest/integration/server_test.darttest/integration/device_test.dart
- Added
- test(phantom): added coverage for
startVideoStream()forwarding and byte streaming behavior.
- feat(phantom): added
-
0.3.218 May 2026Release notes
Open source →- chore: apply
dart formatacross project files required by CI/release workflow.
- chore: apply
-
0.3.118 May 2026Release notes
Open source →- feat(ui_hierarchy): added typed UI hierarchy model and package export.
- Added
UiHierarchy,UiNode, andBoundsinlib/src/models/ui_hierarchy.dart. - Exported
ui_hierarchy.dartfrom the main barrel (adb_utils.dart).
- Added
- feat(phantom): added
dumpWindowHierarchy()to parse XML directly intoUiHierarchy. - security: hardened shell/socket surfaces.
- Added package-name validation in
appInfo()anduninstall(). - Added URL validation/sanitization in
openBrowser(). - Added Phantom socket connect/response timeouts, response size cap, empty-response check, and strict port-range validation.
- Added package-name validation in
- test: added security-focused tests and hierarchy parsing coverage.
- docs: updated README with Phantom +
UiHierarchyusage.
- feat(ui_hierarchy): added typed UI hierarchy model and package export.
-
0.3.018 May 2026Release notes
Open source →- feat(phantom): added
PhantomClientto orchestrate UiAutomator agent lifecycle and TCP communication.- Added
startAgent(targetApkPath, agentApkPath)with APK push, install, force-stop, background instrumentation start, and port forwarding. - Added JSON socket communication flow with robust chunked response handling.
- Added
dumpWindow()andclickByText()high-level actions.
- Added
- test(phantom): added focused unit tests for
startAgent, JSON payload exchange,dumpWindow(), andclickByText(). - chore(phantom): added bundled APK artifacts for the phantom flow:
lib/src/phantom/apks/agent.apklib/src/phantom/apks/target.apk
- feat(phantom): added
-
0.2.230 Apr 2026Release notes
Open source →- feat(adb_sync): fully implemented file transfer operations via the ADB SYNC protocol.
- Added
pull(): download files using memory-efficient streaming. - Added
readBytes()andreadText(): read remote file contents directly into memory. - Added
stat(): query remote file size, mode, and modification time.
- Added
- feat(adb_sync): fully implemented file transfer operations via the ADB SYNC protocol.
-
0.1.321 Apr 2026 -
0.1.221 Apr 2026Release notes
Open source →- added
AppInfo.fromDumpsysto get more detailed information about the app, such as version and permissions. This is useful for users who want to know more about the apps installed on their devices. - added
AdbDevice.appInfoto retrieve theAppInfofor a given package name.
- added
-
0.1.115 Apr 2026Nothing published for this version
-
0.1.014 Apr 2026Nothing published for this version