# adb-sideload-free-apps Install free Android apps via ADB from F-Droid, GitHub Releases, or GitLab Releases. ## Requirements - Python 3.11+ - `adb` (Android Debug Bridge) in PATH - `apkanalyzer` (Android SDK tools) in PATH ## Quick start ```bash python -m pip install -e . cp config.example.toml config.toml # Edit config.toml to add your apps python -m sideload ``` ## Usage ``` sideload [APP] [--list] [--device SERIAL] [--dry-run] [--config PATH] ``` - `APP` — app name from config (omit for interactive selection) - `--list` — list configured apps - `--device`, `-s` — ADB device serial - `--dry-run` — resolve, download, validate without installing - `--config`, `-c` — path to config.toml (default: ./config.toml) ## Configuration See `config.example.toml`. Supported sources: | Source | Required fields | | -------- | ---------------------------- | | `fdroid` | `url` (page F-Droid) | | `github` | `url` (repository) | | `gitlab` | `url` (projet) | Every application also requires `name` and `package`. For GitHub and GitLab, set `asset_pattern` when a release contains more than one suitable APK. Debug, test and unsigned APKs are rejected by default. `apkanalyzer` is mandatory and must be available in `PATH`. It is provided by the Android SDK command-line tools. For Wi-Fi ADB, configure an explicit address after enabling wireless debugging: ```toml [adb] mode = "wifi" address = "192.168.1.42:5555" ``` ## Testing ```bash pip install pytest python -m pytest tests/ -v ```