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.
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:
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
Per eseguirlo serve un software presente nella cartella tools, emulator.
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:
Esistono altre decine di opzioni, consiglio di leggere attentamente la pagina dedicata per chi avesse particolari esigenze di emulazione.