Repository navigation
Releases: psyb0t/android-lab
Release list
v0.16.0
-
Both local images use the signed Ubuntu archive and security repositories over HTTPS, removing the unavailable snapshot service from fresh builds.
-
Package downloads retry transient failures five times. An incomplete package-index update fails the build before installation.
-
Ubuntu packages now follow distribution updates rather than a fixed snapshot. Rebuilding a tag can install newer distribution packages; retain a tested local image when an identical package set is required.
v0.15.0
-
The tool image is built on Ubuntu 24.04 instead of the Alpine-based Docker CLI image. Alpine keeps only the newest build of each package, so the exact package pins broke
make dev-imagewhenever Alpine published an update. -
Ubuntu packages in both images come from a fixed snapshot.ubuntu.com date instead of the live archive, so rebuilding a tag installs the same packages.
-
The Docker CLI, Compose and Buildx binaries are copied from the same pinned Docker CLI image as before. jq 1.8.2, ShellCheck 0.11.0, shfmt 3.13.1, noVNC 1.6.0 and websockify 0.13.0 are upstream releases checked against pinned SHA-256 values, at the versions the Alpine image carried.
-
python3is Ubuntu's Python 3.12, run from a virtual environment with pytest 9.0.3 installed from the hash-pinnedrequirements-pytest.txt.python3 -m pytestworks as before. -
adbis the SDK platform-tools build, the same one the emulator image uses, instead of Alpine'sandroid-toolspackage. -
The issue-pull workflow runs at hours derived from the repository name instead of the same four hours as every other repository.
-
Images derived from the tool image install extra packages with
apt-getinstead ofapk add. -
Python code run in the tool image must support Python 3.12.
-
docs/integration.mdexplains which tags keep building after their base distribution moves on.
v0.14.1
-
ANDROID_LAB_EMULATOR_MEMORY_LIMIToverrides the emulator memory cap.startaccepts a whole number followed bymorgand rejects anything else. -
The emulator container's memory cap is 12g instead of 8g. A 4 GiB guest with software rendering holds about 7.4 GiB, so long test runs hit the 8g cap and the kernel killed the emulator mid-run.
-
A running lab keeps its old cap until
android-lab restartrecreates the emulator with this release. -
The README and the installer's usage comment write
<version>and show how to pick a release from the tags, as theandroid-labskill already does. A release now changes onlyVERSION.
v0.14.0
-
AGENTS.mdis tracked. It documents the lab workflow and the version references to update whenVERSIONchanges. -
The
android-labskill is published to ClawHub on each release. It tells an agent how to pick a release from the tags, install the images, build with Gradle, run the emulator, install APKs, inspect the UI and forward ports from the app's own directory, with the exactdocker runcommands. -
android-lab startpublishes the web viewer on 127.0.0.1:61326 by default. Before, Compose bound 61325 while the readiness check waited for 61326, sostartfailed unlessANDROID_LAB_VNC_HOST_PORTwas set. -
On 0.13.0, set
ANDROID_LAB_VNC_HOST_PORT=61326for lifecycle commands, or install 0.14.0.
v0.13.0
-
install.shbuilds the local images for one tagged release. It is meant forcurl | bash, keeps images that already exist, checks the tag'sVERSION, and needs only Bash, Git, Make and Docker on the host.make testcovers it with stubbed Docker, Git and Make. -
Tag pushes create a GitHub Release after the checks pass.
-
Portable Android Lab skills and setup references, with README instructions for installing them in another Android project.
-
Codeberg and GitLab mirrors, scheduled mirror issue sync, and public archive jobs.
-
The README documents generic port forwarding without launcher-specific protocols.
-
Make sizes tool CPU limits and Gradle workers for the Docker host, capped at ten CPUs.
-
Split Dikciz Launcher into a standalone repository. Android Lab now embeds generic Gradle, emulator and device commands in local versioned tooling images.
-
Consumers build Android Lab images locally, then use their own Makefiles. Images are not published to a registry.
-
Gradle projects may live at the consumer workspace root. Controllers use explicit host workspace paths and workspace-specific Compose names.
-
Lab contract tests check the configured Gradle worker count instead of requiring ten workers on every runner.
-
The pipeline's concurrency group no longer collides with the reusable code workflow's group.
-
The development image pins
shfmt3.13.1-r3. Alpine removed the -r2 rebuild, which brokemake dev-image. -
Build both images with
install.shormake buildin Android Lab after SDK license acceptance, then run Dikciz operations from its separate checkout. -
Preserve
.android-lab/when migrating. It contains the saved phone and stable signing identity. -
Changelog entries before 0.13.0 describe the combined lab and launcher repository.