Gander: un visor de archivos offline y sin permisos para Android

Fuentes: Gander: an offline, zero-permission file viewer for Android

Gander es un visor de archivos para Android, de código abierto y totalmente offline, que reúne en una sola aplicación de unos 15 MB la apertura de documentos PDF, Word, Excel, PowerPoint, imágenes, vídeo, audio, Markdown y código fuente. La aplicación no solicita ningún permiso del sistema —ni siquiera el de acceso a Internet—, no incluye anuncios, no incorpora analítica ni requiere cuentas, por lo que ningún dato sale del dispositivo. Esa ausencia del permiso INTERNET impide de raíz cualquier comunicación con servidores externos.

El proyecto nace como respuesta al esquema habitual en Android, donde cada formato obliga a instalar una app distinta y muchos visores redirigen los documentos a servicios en la nube. Gander, en cambio, utiliza el marco Storage Access Framework de Android y la integración con la hoja de compartir del sistema para recibir únicamente los archivos que el usuario elige abrir. Para las carpetas emplea concesiones puntuales de tipo ACTION_OPEN_DOCUMENT_TREE, lo que evita solicitar permisos de almacenamiento.

En su arquitectura, un enrutador (ViewerActivity) clasifica el archivo por extensión y tipo MIME y lo deriva a uno de cuatro motores: Pdfium nativo para PDF, un visor de imágenes con decodificación por teselas para fotos grandes (incluido HEIC), Media3 ExoPlayer para vídeo y audio, y un WebView en sandbox con bibliotecas JavaScript empaquetadas localmente para Word, hojas de cálculo, diapositivas, Markdown y código. Las búsquedas dentro del documento funcionan en Word, Excel, presentaciones, Markdown, texto y código.

La aplicación se distribuye como APK firmado mediante sideload desde la sección de releases de GitHub, y es compatible con Android 8.0 y versiones posteriores; los usuarios que prefieran actualizaciones automáticas pueden vincular el repositorio a Obtainium. Funciona en dispositivos con arquitectura arm64 y también ofrece un APK universal para terminales antiguos o x86. El proyecto se publica bajo licencia MIT y admite contribuciones mediante issues y pull requests.