Sobre el proyecto

## Geiravor Aplicación de Android para [r/a/dio](https://r-a-d.io), un servicio de transmisión de radio por internet. Nombre de cara al usuario: **r/a/dio**. Paquete: `io.r_a_d.geiravor`. Licencia: MIT (`LICENSE.md`). Copyright © 2026 Sakurai Momoka. **1.0.0** es una reescritura desde cero de la versión 0.3.0. El último código fuente de la versión 0.3.0 se encuentra en `legacy/0.3` (etiqueta `v0.3.0`). ### Instalar Las versiones de GitHub distribuyen cuatro APKs de instalación lateral: Debug y Release × `arm64-v8a` (teléfonos) y `x86_64` (Waydroid / la mayoría de los emuladores). La versión Release está minificada con R8 y firmada con la clave de instalación lateral del proyecto (no de Play). La versión Debug está firmada para depuración. Mismo paquete (`io.r_a_d.geiravor`); la instalación de uno reemplaza al otro. Última versión: [v1.0.1](https://github.com/sakuumomo/geiravor/releases/tag/v1.0.1). ### Compilar Nix es la cadena de herramientas compatible: ``` nix develop # shell completa (JDK, Android SDK/NDK, DHU en Linux) nix develop .#rust # solo Rust del host (fmt, clippy, tests, rustdoc) cargo test --manifest-path core/Cargo.toml ./gradlew :app:testDebugUnitTest :app:assembleDebug ./scripts/dhu.sh # DHU; espera al Head Unit Server; --stop para finalizar ``` Requiere un Nix compatible con flakes. `aarch64-linux` no es un objetivo de flake. Después de clonar: ``` git config core.hooksPath .githooks ``` ### Documentación | Archivo | Función | |---|---| | [`docs/spec/`](docs/spec/) | Contrato del producto (lo que obtiene un oyente) | | [`docs/`](docs/README.md) | Contrato del repositorio vs. división del producto | | [`AGENTS.md`](AGENTS.md) | Cómo trabajar en este árbol | | [`CONTRIBUTING.md`](CONTRIBUTING.md) | Puntero a AGENTS y docs | | [`SECURITY.md`](SECURITY.md) | Informes de vulnerabilidades | | [`CHANGELOG.md`](CHANGELOG.md) | Historial de versiones de **este** árbol | Documentación de crates generada (GitHub Pages, no la wiki): [rustdoc](https://sakuumomo.github.io/geiravor/geiravor_core/) o `nix develop .#rust -c cargo doc --no-deps --open` (no una segunda especificación). El sitio de Pages existe después de que `main` tenga el flujo de trabajo `pages`.