Source development
The signed APK is the normal installation path. Source development needs Docker, Make, Git and a shell. Clone the repository, then run Make from its root. Android Lab supplies the pinned Android toolchain and private emulator.
Build and run
Read the Android SDK license before accepting it. Missing lab images are built by the installer pinned in the Makefile, and retained for subsequent builds.
ANDROID_LAB_ACCEPT_ANDROID_LICENSES=yes make build
make dikciz-run
Open http://127.0.0.1:61326/vnc.html?autoconnect=true&resize=scale for the private emulator. make dikciz-run installs the debug package, grants shared-storage access and selects it as Home. It preserves existing configuration. make dikciz-reset clears Dikciz and its public files on that emulator. Keep .android-lab/ for emulator disks, Gradle cache, signing identity and artifacts.
make help lists every operation. make status inspects the stack. make stop stops the private lab and preserves its disk. Tool containers use up to ten CPUs; set ANDROID_LAB_TOOL_CPU_LIMIT and ANDROID_LAB_GRADLE_MAX_WORKERS for a smaller budget.
Source boundaries
The product source map describes configuration, rendering, scripts, custom apps, Android data and the shared control executor. Dikciz source stays in its additive source sets. The Fossify integration map describes the replaceable upstream base and checked overlays.
The script map documents build tooling and the Python control client. The test guide lists focused live scenarios, fixtures and physical-device boundaries. Contributing defines change and verification requirements.
Verify a change
make lint
make test-tooling
make gradle GRADLE_TASK=:app:assembleDikcizDebug
Choose the focused live selector that covers a visible or protocol change. make dikciz-test is the broad shared-emulator suite. Physical-device work is separate and requires explicitly selected hardware. Documentation changes use the website checks.
Regenerate references
Capture tools/list and remote permission discovery from the intended installed build before generating the command and token tables. make dikciz-command-docs and make dikciz-permission-docs use those captures. make dikciz-search-docs packages current guides and manuals for offline phone search. The generator targets list their inputs in make help.
The command reference, token reference and packaged search corpus are generated. Edit their source or generator, then regenerate; do not patch generated output.
Releases and upgrades
Main pushes run builds, lint and tooling tests. A version tag waits for the matching main commit to pass before producing its signed APK and checksum. make release-apk verifies the signing certificate and canonical VERSION. Signing material remains outside tracked files. See the changelog for migration notes and update recovery for Android background-launch limits.