doc:appunti:android:cli_app_backup
Differences
This shows you the differences between two versions of the page.
Next revision | Previous revisionLast revisionBoth sides next revision | ||
doc:appunti:android:cli_app_backup [2019/10/18 14:49] – created niccolo | doc:appunti:android:cli_app_backup [2019/10/18 16:26] – [Backup da riga di comando] niccolo | ||
---|---|---|---|
Line 1: | Line 1: | ||
====== Backup App Android da riga di comando ====== | ====== Backup App Android da riga di comando ====== | ||
+ | |||
+ | Un dispositivo Android generalmente installa le applicazioni accedendo al **Play Store di Google** oppure a store alternativi, | ||
+ | |||
+ | La app associata allo store gestisce anche gli **aggiornamenti** in modo più o meno automatico. Questo significa che normalmente una app viene aggiornata **disinstallando automaticamente la vecchia versione** per sostituirla con quella nuova. | ||
+ | |||
+ | Ci sono molti motivi per cui è possibile pentirsi di un aggiornamento, | ||
+ | |||
+ | * La nuova versione introduce qualche **nuovo bug** e gli sviluppatori non sono rapidi nel risolverlo. | ||
+ | * Aumentano le **richieste hardware** della app, per cui risulta preferibile eseguire la vecchia versione se il nostro device non è abbastanza performante. | ||
+ | * Lo sviluppatore ha introdotto delle **anti feature** che prima non erano presenti, ad esempio ha aggiunto i **banner pubblicitari** ad una app che ne era priva. | ||
+ | |||
+ | Purtroppo gli store non garantiscono la disponibilità delle vecchie versioni delle app (fortunatamente F-Droid è una eccezione), quindi è consigliabile fare un backup prima di un aggiornamento. Android offre il vantaggio di poter trovare sul filesystem del dispositivo uno o più file **apk** che contiene tutto il necessario per reinstallare l'app. | ||
+ | |||
+ | La parte complicata è scoprire **il percorso del file apk** e il **nome** dell' | ||
+ | |||
+ | ===== Le app di backup ===== | ||
+ | |||
+ | Esistono molte app, gratuite e non, che promettono di fare il backup delle app installate in modo più o meno automatico, ma in generale hanno dei difetti, tra cui: | ||
+ | |||
+ | * Le app gratuite sono spesso infestate da **banner pubblicitari**. | ||
+ | * Le app di backup in genere hanno decine di altre **funzioni non necessarie** e non volute. | ||
+ | * Non è possibile collegare la procedura di backup con altre azioni, cioè realizzare **script utente** con procedure di backup. | ||
+ | |||
+ | ===== Backup da riga di comando ===== | ||
+ | |||
+ | Viste le premesse, ho cercato una soluzione semplice e da **riga di comando**, che abbia come **unico requisito l' | ||
+ | |||
+ | Vedi e scarica lo script Python: **[[https:// | ||
+ | |||
+ | La procedura (richiede **Python 3**) si basa in realtà su alcuni comandi eseguibili in una **sessione terminale Android**. Per stabilire la connessione con il dispositivo Android si deve collegare il cavetto USB, abilitare l' | ||
+ | |||
+ | Per ottenere la lista delle **app installate**: | ||
+ | |||
+ | < | ||
+ | cmd package list packages -f | ||
+ | </ | ||
+ | |||
+ | in alternativa, | ||
+ | |||
+ | < | ||
+ | pm list packages | ||
+ | </ | ||
+ | |||
+ | Per sapere la **versione** di un pacchetto installato (ad esempio // | ||
+ | |||
+ | < | ||
+ | dumpsys package com.android.chrome | ||
+ | </ | ||
+ | |||
+ | Per scoprire **i file apk** installati da una app (potrebbero essere più di uno) si utilizza **pm path**: | ||
+ | |||
+ | < | ||
+ | pm path com.android.chrome | ||
+ | </ | ||
+ | |||
+ | Infine per **scaricare il file** dal dispositivo Android verso il PC si esegue (sul PC) il comando **adb pull**: | ||
+ | |||
+ | < | ||
+ | adb pull / | ||
+ | </ | ||
+ | |||
+ | In generale **non sono richiesti i privilegi di root**. Tuttavia alcune app mettono i file apk in directory non accessibili all' | ||
+ | |||
+ | ===== Web References ===== | ||
+ | |||
+ | * **[[https:// | ||
doc/appunti/android/cli_app_backup.txt · Last modified: 2019/10/18 17:02 by niccolo