A Dev Studio 1.3.28 phone-test beta
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/deviceopens the Android browser from any CLI. The same ELF answers asxdg-open, and the runtime exportsBROWSER=adev-open-url, so GitHub CLI / Go programs discover it the standard way (this fixes gh device login failing withexec: "none": executable file not found in $PATH, which ADEV caused by exportingBROWSER=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 oldbin/gitshell trampoline lives on noexec storage. A new APK-native launcher (libbin_adev_git_launcher.so, symlinked asbin/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. Thebin/gittrampoline and shell functions remain for explicit-path callers. - Secure secrets for any tool:
adev-secret.printf '%s' "$TOKEN" | adev-secret set gh/token, thenadev-secret get gh/token; alsolistanddelete. 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.ymlplaintext because upstreamghhas 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.comexits 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.