/https://www.ilsoftware.it/app/uploads/2026/07/gander-apertura-documenti-file-android.jpg)
- Howto
- Android
Aprire un documento ricevuto tramite email su Android può richiedere ancora una sorprendente quantità di software: un’app per i PDF, una per i file Word, un’altra per i fogli di calcolo e magari un lettore multimediale separato. Gander prova a sostituire tale collezione di visualizzatori con una sola applicazione open source, capace di leggere in locale documenti, immagini, video, audio, Markdown e codice senza chiedere permessi di carattere generale sullo spazio di archiviazione e senza accedere a Internet.
L’idea richiama i visualizzatori universali diffusi sui computer tra gli anni ’90 e 2000, quando un programma leggero poteva aprire decine di formati senza trasformarsi in una suite pesante.
Sugli smartphone il percorso è andato spesso nella direzione opposta: molte app delegano la conversione dei documenti a servizi cloud, chiedono la creazione di un account oppure incorporano pubblicità, telemetria e funzioni estranee alla semplice lettura del file.
Gander sceglie un’impostazione più essenziale. Il pacchetto APK occupa una manciata di megabyte, funziona da Android 8.0 – API level 26 – e supporta PDF, DOCX, XLSX, XLS, XLSM, XLSB, CSV, ODS, PPTX, immagini, contenuti multimediali, file Markdown, testo e numerosi linguaggi di programmazione.
Un visualizzatore Android che non può collegarsi a Internet
La caratteristica più interessante non riguarda il numero dei formati supportati, ma il modo in cui l’applicazione limita la propria capacità di comunicare. Il manifest di Gander non dichiara il permesso android.permission.INTERNET, necessario alle normali applicazioni Android per aprire socket di rete.
Non si tratta quindi di una semplice opzione “offline” affidata a un interruttore dell’interfaccia: l’app si astiene dal chiedere al sistema operativo il requisito fondamentale per avviare le normali comunicazioni di rete.
Gander, inoltre, non integra account, sistemi pubblicitari o strumenti di analytics: tutto il lavoro di interpretazione dei documenti avviene sul dispositivo, con innegabili vantaggi per chi consulta allegati riservati, documentazione aziendale o file personali.

Perché gli sviluppatori scrivono “Take a gander at any file?”
In inglese la frase “take a gander” significa “dare un’occhiata“, “dare uno sguardo“.
La frase “Take a gander at any file” è quindi un gioco di parole con il nome dell’app e si può rendere come: “dai un’occhiata a qualsiasi file” oppure, in modo più naturale rispetto alla funzione del programma, “apri e consulta qualsiasi file“.
Il termine “Gander” fa anche riferimento all’oca maschio, ma nell’espressione idiomatica deriva dal movimento del collo dell’animale, che si allunga per guardare meglio qualcosa. Gli sviluppatori hanno scelto il nome proprio per sfruttare questo doppio significato.

Come apre i file senza chiedere accesso all’intera memoria
Android permette a un’applicazione di leggere un documento senza consegnarle automaticamente l’intero archivio del telefono. Gander sfrutta lo Storage Access Framework, l’infrastruttura con cui il sistema presenta all’utente il selettore dei file e restituisce all’app un URI riferito soltanto all’elemento scelto.
Gander non deve ottenere il tradizionale accesso generale a foto, video o documenti: è Android a concedere la lettura della singola risorsa selezionata, anche quando il file proviene da un gestore documentale, da un provider cloud installato sul telefono o da un’altra applicazione.
Lo stesso principio entra in gioco quando si usa “Apri con” oppure si condivide un allegato da un client email, una chat o un browser: Gander riceve il contenuto selezionato dall’utente tramite un content URI, lo interpreta e lo mostra senza dover conoscere il percorso fisico del file.
Cliccando su Add a folder, l’utente può selezionare una cartella locale e Android assegna un’autorizzazione persistente a quella directory. Il permesso può sopravvivere al riavvio del dispositivo, ma resta circoscritto alla specifica cartella. Se il documento viene spostato o eliminato, il relativo URI può smettere di funzionare anche se l’app aveva conservato l’autorizzazione.
Esiste inoltre un limite imposto direttamente da Android: le applicazioni, e quindi anche Gander, non possono chiedere l’accesso alla radice della directory Download. Si può concedere l’accesso a una sua sottocartella, oppure scegliere directory come Documents e DCIM. Non è una mancanza specifica di Gander, ma una restrizione introdotta nelle versioni moderne del sistema per ridurre l’esposizione dei dati.
Gander: quattro motori diversi dietro un’unica interfaccia
Gander non prova a interpretare ogni formato con un solo componente. L’applicazione identifica prima l’estensione, controlla poi il tipo MIME e indirizza il file verso uno dei quattro percorsi principali previsti dalla sua architettura.
I PDF passano attraverso Pdfium, motore nativo noto anche per il suo impiego in progetti basati su Chromium. Le foto usano una vista costruita sulla libreria Subsampling Scale Image View: invece di decodificare sempre l’immagine completa alla massima risoluzione, il programma può caricare porzioni e livelli di dettaglio differenti durante lo zoom. La soluzione riduce la pressione sulla memoria quando si aprono immagini molto grandi.
Per audio e video entra in gioco Media3 ExoPlayer, il lettore multimediale mantenuto nell’ambito delle librerie Android Jetpack. Gander dichiara il supporto per contenitori come MP4, M4V, MOV, MKV, WebM, 3GP, AVI, FLV e MPEG-TS, oltre a MP3, AAC, FLAC, WAV, OGG, Opus e AMR.
Il riconoscimento del contenitore non garantisce la riproduzione di ogni possibile flusso contenuto al suo interno. Un file MKV, per esempio, può includere codec che il dispositivo non sa decodificare: ExoPlayer combina i propri estrattori con i decoder disponibili nella piattaforma Android; compatibilità e prestazioni possono quindi cambiare in base al produttore, alla versione del sistema e all’hardware.
La quarta superficie è una WebView isolata, usata per i documenti Office, i file Markdown, alcune immagini e altri contenuti trasformati in HTML. Le librerie JavaScript necessarie non arrivano da host remoti: sono incluse nel pacchetto APK e caricate localmente.
DOCX, Excel e PowerPoint vengono interpretati sul telefono
Gander utilizza docx-preview per i documenti Word in formato DOCX, SheetJS Community Edition per i fogli di calcolo e PPTXjs per le presentazioni PowerPoint. Il file passa alla libreria corrispondente e il risultato viene rappresentato all’interno della WebView.
Le risorse locali transitano attraverso WebViewAssetLoader, componente di AndroidX WebKit che permette di servire file inclusi nell’app tramite URL HTTPS virtuali. Le richieste dirette al dominio appassets.androidplatform.net sono intercettate e risolte all’interno dell’APK, senza contattare alcun server reale.
Caricare contenuti tramite URL di tipo file:// e concedere alla WebView un accesso troppo ampio ai file locali può creare condizioni pericolose, soprattutto quando il documento controlla parte dell’HTML o del JavaScript elaborato. WebViewAssetLoader consente invece di mantenere un modello di origine più vicino a quello del web e di definire con maggiore precisione quali percorsi risultano raggiungibili.

Gander intercetta le richieste della WebView e alimenta il visualizzatore con le librerie incorporate e con il documento ricevuto attraverso l’URI Android. Non possedendo il permesso Internet, non può completare eventuali richieste verso risorse remote. Un documento Word che contiene un’immagine collegata a un server esterno, quindi, non potrà recuperarla.
Per il Markdown l’app combina marked, che converte la sintassi in HTML, con DOMPurify, libreria progettata per rimuovere elementi e attributi potenzialmente pericolosi dal markup. È un passaggio importante perché un file apparentemente testuale può contenere HTML incorporato; mostrarlo senza sanificazione dentro una WebView aumenterebbe il rischio di eseguire codice indesiderato.
Supporto ampio, ma non equivalente a Microsoft Office
Definire Gander un visualizzatore universale non significa attribuirgli la fedeltà di rendering di Word, Excel o PowerPoint. I formati Office moderni sono archivi ZIP strutturati secondo specifiche molto estese; possono contenere temi, font, grafici, formule, oggetti incorporati, macro, collegamenti, animazioni e caratteristiche sviluppate nel corso di decenni. Chiedete a LibreOffice/The Document Foundation, coff… coff…
Una libreria JavaScript leggera riesce a ricostruire bene molti documenti comuni, ma può mostrare differenze negli impaginati più elaborati. Font assenti, elementi SmartArt, grafici complessi, fogli con funzioni particolari e presentazioni ricche di animazioni rappresentano casi nei quali la resa potrebbe discostarsi dall’originale.
I file XLSM sono aperti come fogli di calcolo, ma Gander non nasce per eseguire macro VBA: visualizzare celle e formule è cosa diversa dall’avviare codice incorporato. Dal punto di vista della sicurezza, la mancata esecuzione delle macro riduce una delle superfici di attacco più note dei documenti Office.
L’app non supporta i vecchi formati binari DOC e PPT: il progetto suggerisce di salvarli nuovamente come DOCX e PPTX con un’applicazione compatibile. Il vecchio XLS, invece, rientra tra i formati gestiti da SheetJS.
Ricerca, anteprime e gestione dei file recenti
Oltre alla visualizzazione, l’app offre la ricerca interna nei documenti Word, nei fogli di calcolo, nelle presentazioni, nei file Markdown, nel testo semplice e nel codice. I risultati possono essere percorsi passando da una corrispondenza alla successiva.
La schermata iniziale mantiene l’elenco degli elementi recenti e genera anteprime in background: per un’immagine utilizza una miniatura, per un video può estrarre un fotogramma e per un PDF può mostrare la prima pagina. La cache evita di ripetere l’elaborazione ogni volta che si torna all’elenco.
La persistenza dei file aperti di recente dipende dalle autorizzazioni URI conservate attraverso lo Storage Access Framework: un riferimento può comunque diventare inutilizzabile quando l’utente sposta il file, lo elimina oppure revoca il permesso alla cartella.
Nella cronologia dei file recentemente aperti, è possibile rimuovere un elemento semplicemente tenendo premuto su di esso. Non si cancella il file originale, semplicemente lo si rimuove dalla lista mostrata da Gander.
Installazione tramite APK e verifica della firma
Gander non risulta distribuito attraverso Google Play: il progetto pubblica gli APK nella sezione Releases di GitHub e consiglia il pacchetto ARM64 per quasi tutti i telefoni prodotti dal 2017 in avanti. La variante universal serve soprattutto per architetture meno comuni o dispositivi molto vecchi.
L’installazione richiede l’abilitazione della facoltà di installare applicazioni sconosciute e di selezionare il file APK scaricato.
Per automatizzare gli aggiornamenti il progetto suggerisce Obtainium: l’app controlla direttamente le pagine delle release di GitHub e di altre piattaforme, segnala le nuove versioni e può gestire l’installazione senza passare da uno store tradizionale.
A chi può servire davvero Gander
Gander risponde bene a un’esigenza precisa: aprire rapidamente molti tipi di file senza installare una suite completa e senza inviare documenti a servizi remoti. Può risultare interessante su telefoni aziendali, dispositivi usati in viaggio, smartphone secondari, terminali privi dei servizi Google o apparecchi destinati alla consultazione di materiale locale.
La compatibilità con Android 8.0 amplia il numero dei dispositivi utilizzabili, anche se un sistema operativo così vecchio potrebbe non ricevere più aggiornamenti di sicurezza dal produttore. Installare un visualizzatore attento alla privacy su un telefono non più corretto da anni risolve soltanto una parte del problema.
Per i documenti che devono mantenere una fedeltà grafica assoluta, fogli con macro, presentazioni complesse o file da modificare, restano preferibili applicazioni specializzate. Per la consultazione quotidiana, invece, la combinazione tra funzionamento offline, assenza del permesso Internet e accesso selettivo ai file rappresenta una proposta rara.
Il merito principale di Gander non consiste nell’inventare un motore universale. L’applicazione ha il merito di riunire componenti esistenti dietro un modello di accesso comprensibile e verificabile. L’utente seleziona il documento; Android concede soltanto ciò che serve; il rendering avviene in locale. È un’impostazione quasi ovvia, a ben vedere, ma molte applicazioni hanno smesso da tempo di comportarsi così.
>> Home