Comandi utili ADB

Comandi utili ADB
SmartWorld team
SmartWorld team

Se c'è un aspetto che caratterizza Android rispetto ad altri sistemi operativi mobile è la possibilità concessa agli sviluppatori di testarlo e migliorarlo. Più esattamente, il sistema operativo made in Google ha messo a disposizione uno strumento specifico, Android Debug Bridge, utile per sperimentare il funzionamento delle applicazioni.

Di interessante c'è la sua ampia versatilità. In buona sostanza, ADB non serve solo per installare e testare app su smartphone Android. Ma anche per eseguire operazioni minori, come la modifica di un'autorizzazione. Andiamo quindi alla ricerca dei comandi da utilizzare per sfruttare al meglio questa possibilità.

Comandi ADB per vedere le app installate

Per vedere le app installate sul proprio dispositivo equipaggiato con sistema operativo Android occorre digitare il comando adb shell pm list packages. In questo modo viene visualizzato l'elenco dei pacchetti delle app installate. Ciascuno di loro è disposto su una riga. Come suggerito dalla nota comunità di sviluppatori xda-developers.com, i comandi da usare per recuperare elenchi più specifici sono:

  • -f per il percorso dell'APK di base per ogni app, insieme al nome del pacchetto
  • -a si assicura che tutti i pacchetti noti non APEX vengano restituiti
  • -d fa sì che il comando restituisca solo i pacchetti disabilitati
  • -e permette che il comando restituisca solo i pacchetti abilitati
  • -s affinché il comando restituisca solo i pacchetti di sistema
  • -3 fa sì che il comando restituisca solo pacchetti di terze parti
  • -i include il nome del pacchetto di installazione per ogni pacchetto
  • -U comprende la User ID di ogni pacchetto
  • -u include i pacchetti disinstallati
  • -show-versioncode comprende il codice della versione per ogni pacchetto
  • -apex-only restituisce solo i pacchetti APEX
  • -uid <UID> mostra solo i pacchetti con l'UID specificato
  • -user <USER_ID> visualizza solo i pacchetti che appartengono all'ID utente specificato

Installazione di app tramite ADB

Android Debug Bridge è uno strumento versatile che facilita una serie di azioni sul proprio dispositivo, come l'installazione e il debug di app, e fornisce l'accesso a una shell Unix da utilizzare per eseguire una varietà di comandi. Per installare un APK a bordo del proprio dispositivo occorre digitare adb install -r someapk.apk. Anche in questo caso - viene fatto presente - sono numerose le opzioni per l'installazione di APK tramite ADB.

  • -r consente ad ADB di eseguire l'installazione su un'app, ma su Android Pie e versioni successive non è necessario specificare questa opzione
  • -i permette di specificare il nome di un pacchetto di installazione
  • -t consente l'installazione di un APK con android:testOnly="true" nel manifest
  • -d permette di eseguire il downgrade dell'APK specificato a un'app già installata, ma funziona solo se entrambe le versioni dell'app è possibile eseguire il debug
  • -g per Android Marshmallow e versioni successive concede in automatico tutte le autorizzazioni di runtime all'app installata

Componenti dell’app via ADB

Può essere utile conoscere i nomi dei componenti di un'app. E anche in questo caso ADB viene in soccorso. Il comando da eseguire è adb shell dumpsys package <packagename>. Ogni gruppo di testo mostra l'azione necessaria per avviarlo, il nome del componente ed eventualmente alcune informazioni extra.

ADB può essere utilizzato anche per avviare attività e inviare notifiche a BroadcastReceivers. La sintassi del comando per notificare un BroadcastReceiver è am broadcast -a <action> -n <component>. Oltre alla sintassi di base ci sono altri comandi da lanciare:

  • -d consente di specificare un URI di dati
  • -e <key> <value> o -es <key> <value> permette di specificare una stringa aggiuntiva
  • -esn <key> consente di specificare una Stringa nulla in più
  • -ez <key> <value> viene utilizzato per specificare un valore booleano aggiuntivo
  • -ei <key> <value> viene utilizzato per specificare un numero intero aggiuntivo
  • -ecn <key> <value> può essere utilizzato per specificare un nome di componente aggiuntivo
  • -f consente di specificare un flag

Disabilitare le app di sistema con ADB

Le app di sistema in Android non possono essere disinstallate e molte di esse non possono essere disabilitate tramite Impostazioni. ADB non permette la loro disinstallazione, ma può comunque aiutare a disabilitarli. I comandi consigliati sono:

  • pm disabilitare <package> - Per riabilitare, pm enable <package>
  • pm disabitare-user –user 0 <package> - Per riabilitare, pm enable <package>
  • pm hide <package> - Per riabilitare, pm unhide <package>
  • pm sospendere <package> - Per riabilitare, pm unsuspend <package>
  • pm disinstallare -k –user 0 <package> - Per riabilitare, pm install-existing <package>

Commenta