Molti utenti di Android che amano personalizzare i propri dispositivi fanno affidamento su recovery personalizzate, come TWRP o ClockworkMod, per installare ROM modificate, effettuare backup completi e gestire i file tramite l’interfaccia AROMA. Anche se per la maggior parte degli utenti non è una necessità, acquisire schermate in modalità di ripristino diventa essenziale per blogger, sviluppatori di recovery custom e app basate su AROMA, e designer di temi per recovery, che spesso hanno bisogno di mostrare il loro lavoro.
In questa guida, ti accompagneremo attraverso il processo per acquisire facilmente screenshot del tuo dispositivo Android mentre si trova in modalità di ripristino, indipendentemente dalla recovery custom installata.
A differenza del normale avvio di Android, la combinazione di tasti standard “Volume Giù + Accensione” non funziona per catturare uno screenshot in recovery. In passato, lo strumento DDMS dell’Android SDK era un’ottima soluzione, ma non è più efficace dopo gli ultimi aggiornamenti.
Finora, l’unica soluzione che conoscevo era quella di recuperare manualmente i dati grezzi del framebuffer e poi elaborarli con lo strumento da riga di comando ffmpeg per generare l’immagine desiderata. Tuttavia, questa soluzione ha un grande svantaggio: non è un comando universale applicabile a tutti i dispositivi Android. Infatti, diversi dispositivi e recovery utilizzano formati pixel diversi per i loro framebuffer, e il comando deve essere ottimizzato per tenere conto della risoluzione nativa del dispositivo e del fattore di passo nell’immagine grezza. Personalmente, ho trascorso ore a cercare di capire questi parametri per i miei dispositivi, mentre scrivevo guide che includevano schermate della recovery.
Fortunatamente, esiste un fantastico strumento creato dal membro di XDA, makers_mark, che automatizza questo processo, semplificando notevolmente la cattura di screenshot nella recovery.
Presentazione di “Recovery Screenshot”
Recovery Screenshot è uno script, attualmente disponibile solo per Windows, che sfrutta ADB e ffmpeg per estrarre il framebuffer del tuo dispositivo e processarlo per generare screenshot in formato PNG.
Prima di iniziare a catturare schermate in recovery, è necessario configurare lo strumento per il tuo dispositivo. Ecco come procedere:
Configurazione Iniziale
Prima di tutto, assicurati che il tuo dispositivo sia avviato in modalità di ripristino e collegato al computer tramite un cavo USB. Inoltre, verifica di aver installato i driver necessari.
Scarica Recovery Screenshot e decomprimi il contenuto del file ZIP in una cartella comoda sul tuo computer. Avvia lo script eseguendo il file RUNrs.bat che si trova nella cartella. Verrà visualizzato un menu con le seguenti opzioni:
Seleziona l’opzione 1 per avviare la configurazione. Ti verrà chiesto di inserire le dimensioni dello schermo del tuo dispositivo in pixel. Assicurati di inserire la dimensione più corta come larghezza e quella più lunga come altezza.
Recovery Screenshot estrarrà il framebuffer dal tuo dispositivo e lo elaborerà in diversi formati pixel con ffmpeg, salvando le immagini PNG risultanti in una cartella “Pixel_formats” all’interno della cartella dove hai estratto lo script.
Ora, esplora la cartella “Pixel_formats” e controlla tutte le immagini. Noterai che molte di esse appariranno distorte, il che è normale. Infatti, sono state elaborate utilizzando formati pixel diversi da quello del tuo dispositivo. Cerca l’immagine che appare correttamente, prendi nota del suo nome (che corrisponde al formato pixel) e premi un tasto qualsiasi per proseguire.
Se hai trovato l’immagine corretta, premi 1 per finalizzare la configurazione. Se non hai trovato l’immagine corretta, premi 2, e lo strumento proverà formati pixel meno comuni. In questo caso, cerca di nuovo nella cartella, dove verranno aggiunte nuove immagini, e annota il nome dell’immagine corretta.
Dopo aver trovato il formato pixel giusto, inseriscilo nella schermata successiva, esattamente come lo vedi nel nome del file corretto (senza l’estensione .PNG). Ad esempio, nei nostri test con il Nexus 5, l’immagine corretta era rgb0.png, quindi il formato pixel corretto era rgb0.
Dopo aver inserito il formato pixel corretto e premuto Invio, la configurazione è completa. Le impostazioni vengono salvate e non sarà più necessario riconfigurare lo script per lo stesso dispositivo, a meno che tu non le cancelli. Ora sei pronto a iniziare a catturare schermate.
Catturare Screenshot in Recovery
Dopo aver completato la configurazione iniziale, ogni volta che avvierai lo strumento, ti verranno presentate le seguenti opzioni:
Le tre opzioni per acquisire il framebuffer potrebbero sembrare confuse. Spiegare come funziona il sistema a doppio framebuffer di Android va oltre lo scopo di questa guida. L’immagine che stai cercando potrebbe trovarsi in uno qualsiasi dei framebuffer, quindi è consigliabile selezionare la terza opzione, ovvero acquisire entrambi i framebuffer. Premi 3 e lo script estrarrà ed elaborerà entrambi i framebuffer per te.
Le immagini elaborate verranno salvate in una sottocartella all’interno della cartella principale dello script e il nome della cartella sarà basato sulla data corrente. I nomi delle immagini all’interno della cartella si baseranno sull’ora corrente e sul framebuffer utilizzato (superiore o inferiore).
Ricorda che quando provi a catturare screenshot da un dispositivo diverso, potresti dover configurare nuovamente lo strumento. Per farlo, premi 4 sulla schermata principale per ripristinare le impostazioni e ricominciare da capo. La quinta opzione, ovvero la modalità manuale, non richiede un dispositivo connesso in modalità di ripristino e consente di specificare manualmente le impostazioni e processare qualsiasi file di immagine grezza come sorgente.
Esempi di Screenshot Catturati
Ecco alcuni screenshot catturati in modalità di ripristino utilizzando lo script. Il primo mostra la schermata principale della recovery TWRP, il secondo mostra una barra di avanzamento durante l’installazione di una ROM, e il terzo mostra AROMA File Manager.
Anche se non è uno strumento per tutti, dato che la maggior parte degli utenti non avrà mai bisogno di acquisire screenshot in recovery, “Recovery Screenshot” può rivelarsi una risorsa essenziale per coloro che, come me, hanno sempre dovuto fare i conti con la complessità dell’estrazione manuale dei framebuffer e dell’elaborazione delle immagini grezze tramite comandi ffmpeg, ogni volta che era necessario documentare una recovery personalizzata o uno script AROMA.