Skip to content

A Dev Studio 1.3.28 phone-test beta

Choose a tag to compare

@Asif2902 Asif2902 released this 25 Aug 21:36
· 11 commits to master since this release
7c2819b

A Dev Studio 1.3.28 phone-test beta

Generic CLI platform bridges: GitHub CLI and future tools (Codex, Grok, OpenCode) can now open links through Android, store secrets securely, and spawn ADEV Git.

New in 1.3.28

  • adev-open-url - generic ACTION_VIEW bridge. adev-open-url https://github.com/login/device opens the Android browser from any CLI. The same ELF answers as xdg-open, and the runtime exports BROWSER=adev-open-url, so GitHub CLI / Go programs discover it the standard way (this fixes gh device login failing with exec: "none": executable file not found in $PATH, which ADEV caused by exporting BROWSER=none). Both names exist as exec-safe symlinks in $PREFIX/bin/adev-shims/ so static binaries that fork/exec PATH entries work without a shell.
  • Foreign CLIs can spawn ADEV Git again. gh's internal git calls died with fork/exec .../runtime/bin/git: permission denied: static Go binaries exec a PATH entry directly and the old bin/git shell trampoline lives on noexec storage. A new APK-native launcher (libbin_adev_git_launcher.so, symlinked as bin/adev-shims/git) leads PATH resolution: it applies the same shared-storage workspace guard as interactive shells, restores the runtime contract if the parent lost it, and execs the bundled Git ELF in place. The bin/git trampoline and shell functions remain for explicit-path callers.
  • Secure secrets for any tool: adev-secret. printf '%s' "$TOKEN" | adev-secret set gh/token, then adev-secret get gh/token; also list and delete. Values are AES/GCM-sealed under AndroidKeyStore inside the app and travel over stdin + a session-authenticated loopback broker only - never argv, history, or dotfiles. Git keeps using its existing Keystore-backed credential helper automatically.
  • Honest limits: GitHub CLI still stores its own token in $XDG_CONFIG_HOME/gh/hosts.yml plaintext because upstream gh has no keyring backend on this platform; that file lives in app-private storage.

Verified

  • On device (Infinix X689B, Android 11): node/python child-process fork/exec of git works via the launcher; launcher workspace-guard blocks mutating git on shared storage; secret set/get/delete round-trips over the broker; full offline developer-runtime compatibility matrix passes; adev-open-url https://github.com exits 0 and brings Chrome to the foreground (instrumented end-to-end test).
  • Host suites green: exec-android, runtime-env (+ fixed pre-existing Termux-literal lint failure), phase 2-5, agent-env, shell-navigation, workspace-policy, nano, ripgrep, opencode, typecheck.
  • Note for release engineering: the signed runtime-lock manifest was not regenerated this cycle (external signing key unavailable); the two new app-native ELFs ship outside it until re-signed. phase4 verification direction is unaffected.

Install

Phone-test APK (debug-test signed, com.mobileide.app.phonetest):

  • File: app-phoneTest.apk
  • Size: 376002471 bytes
  • SHA-256: BDD118CC249EB6FD8FF69273C58B1D6F54C6CC955240CA1FF1F39F7144FB1AB0

Requires Android 11+ (arm64). Existing installs keep their data, including gh logins and stored secrets.