fbpx

Creare Android Virtual Device da terminale

Nell’articolo Creare sistema ad-hoc per analizzare applicazioni Android avevo introdotto l’analisi di applicazioni sfruttando le immagini messe a disposizione da Google per la creazione di macchine virtuali Android. Purtroppo hanno deciso bene di deprecare la creazione di dispositivi virtuali via interfaccia grafica, per cui questo articolo è incentrato solamente sulla creazione degli stessi dispositivi tramite terminale.

Per quanto riguarda l’installazione di Android Studio, il procedimento è identico: basta collegarsi alla pagina di download e scaricare la versione adatta alle proprie esigenze.

Creazione del dispositivo virtuale

Il software da utilizzare è avdmanager, posizionato (solitamente) nella cartella Android

Per identificare che sistemi sono disponibili basta digitare

./avdmanager list targets

Available Android targets:==============] 100% Fetch remote repository... 
----------
id: 1 or "android-24"
 Name: Android API 24
 Type: Platform
 API level: 24
 Revision: 2
----------
.....

Mentre per quanto riguarda i dispositivi

./avdmanager list devices
id: 0 or "tv_1080p"
    Name: Android TV (1080p)
    OEM : Google
    Tag : android-tv
---------
id: 1 or "tv_720p"
    Name: Android TV (720p)
    OEM : Google
    Tag : android-tv
.....
...
..
.

Una volta scelto il sistema e il dispositivo che si vuole utilizzare, il comando è

./avdmanager create avd -k "system-images;android-23:;google_apis;x86" -n Prova -d "Nexus 7"

dove:

  • -k: il parametro più importante, dove si sceglie il tipo di sistema da utilizzare
  • -n: il nome che avrà il dispositivo virtuale
  • -d: dispositivo da virtualizzare

Per verificare che il comando sia andato a buon fine,

./avdmanager list avd
    Name: Prova
  Device: Nexus 7 (Google)
    Path: /home/mrtouch/.android/avd/Prova.avd
  Target: Google APIs (Google Inc.)
          Based on: Android 6.0 (Marshmallow) Tag/ABI: google_apis/x86

Esecuzione del dispositivo virtuale

Per eseguirlo serve un software presente nella cartella toolsemulator.

L’esecuzione è abbastanza semplice

./emulator -avd NomeAVD

A me hanno dato dei problemi delle librerie, quindi la mia esecuzione finale è diventata

LD_PRELOAD='/usr/lib/x86_64-linux-gnu/libstdc++.so.6' ~/Android/Sdk/tools/emulator -netspeed full -avd Prova -skin 2720x2480

Il dispostivo cosi facendo è avviato e funziona perfettamente, dove:

  1. -skin è la risoluzione utilizzata;
  2. -netspeed è la velocità di upload/download di rete.

Dispositivo Android Virtuale

Esistono altre decine di opzioni, consiglio di leggere attentamente la pagina dedicata per chi avesse particolari esigenze di emulazione.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *