Il miglior emulatore Android

tl;dr nessuno, compra un tablet da 80€ in offerta al centro commerciale.

Ok, ok, cerchiamo di non essere così drastici: io ho cercato di installare l’emulatore dentro a una macchina virtuale. Emulatorception. Yo dawg…

Perché mai? Perché tutto ciò che concerne Android e non proviene direttamente da Google o non è open source trasuda pubblicità, crapware e malware di ogni genere. Non volevo trasudazioni dentro al pc, ovviamente.

La qualità generale comunque mi fa sospettare che non sarebbe andata molto diversamente su un pc reale…

Bluestacks

Probabilmente il più famoso, una volta l’avevo installato sul pc reale, notando una serie di problemi.

Cercano di nasconderlo in tutti i modi, ma bisogna pagare un abbonamento (dal costo esiguo, peraltro: se funzionasse bene lo farei anche) o farsi installare le peggio app raccolte direttamente dagli angoli più bui e fetenti del Play Store. Si possono anche disinstallare il giorno dopo, ma nonostante innumeri tentativi alcune non si sono mai fatte disinstallare. Oh, poco male, prevedendo ciò ho usato l’account secondario, non certo quello principale…

Mi chiedo perché chiedano di installarle, mi viene da pensare che sia per incrementare il contatore di download sul Play Store (pare molto losco), ma non sono sicuro che passi dal Play Store, quindi mi tengo il dubbio.

Se non si installa un aggeggio per sincronizzare le app con il proprio telefono fisico e non lo si configura, Bluestacks chiede con insistenza a ciclo continuo di configurarlo, il che può rafforzare la tesi del contatore dei download; altrimenti non capisco perché insistere tanto a riguardo.

Inoltre, riempie il task manager dei suoi processi, col prefisso “HD-“, come le più fetenti e truffaldine app del Play Store con scritto “HD” in ogni angolo possibile e immaginabile, e poi di HD ci sono solo le pubblicità popup invadenti che scalano soldi dal credito telefonico solo a guardarle tramite metodi immorali a dir poco. Il punto è che mi dà fastidio avere tutte quelle cianfrusaglie che girano anche quando Bluestacks è chiuso: conoscendo la morale molto elastica dei suoi sviluppatori (“scarica queste app! Che sarà mai!”), sono disposto a farlo girare solo in una VM, ora.

Nella VM si installa, parte, intasa la LAN di pacchetti UDP, si ferma su “Initializing…” con caricamento infinito. Nelle FAQ sostengono di aver risolto il problema svariate versioni addietro: il fatto che su internet migliaia di persone continuino a lamentarlo dimostra che non hanno risolto un benemerito.

Ci sono dei tricckoni per sturarlo, cancellando dei file a casaccio, ma poi non parte più.

Andy

L’exe è firmato con la chiave di un’azienda che spacciava spyware. Devo aggiungere altro?

Ovviamente dichiarano che è così perché non hanno avuto il tempo di ottenere una nuova chiave e giurano che non è uno spyware. Sì, e noi ci crediamo.

Almeno, fino a qualche tempo fa era così, non so se ora sia cambiato.

Internamente è VirtualBox con qualche altro strato di software sopra e intorno, c’è pure il disco virtuale tra i file installati, ma non sono riuscito ad avviarlo con VirtualBox.

Sulla VM (sì, VirtualBox può funzionare dentro a VirtualBox, il problema non è lì) parte, chiede un like su Facebook e non succede altro, non si apre nulla, si ferma lì, si adagia dolcemente. I software che si piantano senza messaggi d’errore o senza fare altro mi fanno venire voglia di prendere gli sviluppatori e far cozzare le loro teste vuote ripetutamente.

Oh, lo so che programmare è difficile, che un emulatore non è proprio l’emblema della banalità, ma che diamine, questo è costruito su VirtualBox, se è così traballante c’è qualche serio problema!

Droid4X

L’ho avviato nella VM. È stato mezz’ora a non fare nulla, nemmeno aprirsi. Di punto in bianco poi ha cominciato a installarsi e scaricare roba da internet senza chiedere il permesso.

Alla fine è partito: durante il caricamento ha fatto partire la disinstallazione delle additions di VirtualBox e mi ha suggerito di attivare VT-d dal BIOS. Mi chiedo se non abbia capito che la CPU supporta la virtualizzazione perché è dentro a una VM o perché ho AMD indi non ho letteralmente VT-d ma delle istruzioni equivalenti. Tragicamente sospetto la seconda. Ma dopotutto tutti abbiamo Intel, no? Massì, scriviamo software che supporta solo una parte degli utenti mondiali, gli altri non contano nulla!

Nel mentre che laggava furiosamente e continuava a caricare, giunto al 20% mi ha detto, in sintesi, “i driver video non sono aggiornati. AGGIORNALI.”, dò l’ok, mi chiede se voglio uscire. Ehm, no, vorrei che partissi… i driver video ti impediscono di andare? Mh?

Mentre gli faccio domande retoriche, continua a caricare, caricare, caricare… all’80% si ferma. Sotto alla barra di caricamento continuano a scorrere “tips” demenziali e sgrammaticati, come “U can change screen resolution”, sì, con “U”. Nessun bottone funziona, si può solo uscire. Prima di uscire chiede conferma. Insomma, un software che non chiede il consenso per nulla, raggiunto un errore fatale, chiede all’utente se vuole uscire o no.

E facendo ciò mostra chiaramente che la barra di caricamento è finta come poche altre cose, o forse come molte altre cose del medesimo software.

Magari su un pc reale avrebbe funzionato, ma vista la qualità che ha mostrato finora, vade retro!

Emulatore ufficiale di Google (parte dell’SDK)

Beh, funziona. Non c’è il Play Store, non ci sono i Services, ma almeno quelli si possono mettere usando l’immagine con le API Google.

Questo l’ho usato sul pc reale perché, ringraziando, ci si può fidare che Google non impesti tutto di crapware e malware: almeno è ben noto il suo modello di business e come fa a generare introiti, a differenza delle aziende dietro a tutti gli altri emulatori. A dire il vero anche Bluestacks si capisce come faccia a esistere essendo payware opzionale.

È più lento di Windows Vista su un Pentium III spento. È lento al punto di essere inutilizzabile. Non so come farò quando dovrò testare le app Cordova; probabilmente userò i miei vari catorci con Android, così posso valutare le performance nel mondo reale, su device che più bottom di gamma di così si muore (a partire dal telefono con Android 1.8 su cui Cordova non gira nemmeno quindi è inutile e a finire col tablet Mediacom pagato 0 € [sic] con lo schermo che funziona due minuti sì e 20 no e pare indemoniato).

Comunque si può installare anche un’immagine x86 con le API, il Santo Graal dei device virtuali. Sarà ragionevolmente veloce, come una qualsiasi VM, no? x86 su x86_64 non dovrebbe essere pesante, no? Posso far girare linux a velocità folli dentro a VirtualBox, vuoi che Google non abbia dotato quell’immagine di opportuni driver per farla girare degnamente sull’emulatore?

Ovviamente no. Bisogna installare HAXM, un aberrante trabiccolo Intel che installa un servizio dentro a Windows, per emulare x86 su x86. Emulare un’architettura sulla medesima architettura.

Va beh, installiamo l’orrido hack, ehm, HAXM. Avvio l’immagine e… non va. Non mi ricordo cosa non andasse e non ho voglia di reinstallarla per controllare, ma HAXM non basta installarlo dall’SDK Manager, no, bisogna intuire con l’intuizione intellettuale che va cercato nei meandri della cartella dell’SDK e avviato il setup a mano, come fortunosamente trovo su Stack Overflow.

Poiché commetto l’orrido crimine di aver scelto AMD, che differentemente da Intel non fa prezzi da rapina per le sue CPU, l’orrido hack si rifiuta categoricamente di essere installato.

Ma insomma, a che potrà mai servire? Se installo VirtualBox, poi posso installare là dentro un qualsiasi OS che supporti l’architettura x86, magari uno con cui siano compatibili le additions… Google fornisce già l’AVD e simili arnesi, dal quale si avvia la VM Android: è così assolutamente impossibile e impensabile mettere là dentro qualcosa di simile alle additions, senza HAXM di mezzo?

Comunque, sempre meglio l’emulatore lentissimo di Android, che quello che Apple costringe a fare per sviluppare su iOS, ovvero comprare un Mac da 2000 € e usare XCode.
O di Microsoft che obbliga ad usare Visual Studio da 2000 € perché, a quanto pare, VS Express non può compilare per Windows Phone.

Android x86 dentro a VirtualBox

È lento, ma non al livello indecente dell’emulatore ufficiale. Ovviamente per far girare le app ARM ci vuole un altro magnifico trabiccolo Intel chiamato Houdini, che non sono mai riuscito a installare.

Qualunque app avii, crasha all’istante.

Windroy

Nemmeno si avvia, dentro la VM.

E adesso?

Beh, quelli gratis li ho provati tutti. Forse anche Genymotion è diventato gratis, forse da siti ignoti ai più si riesce ad avere Xamarin Android Player gratis, ma basta così.

Il panorama è preoccupante: è chiaro che Android stimola per ragioni inconoscibili gli sviluppatori a intasare con quanta più pubblicità, spam, crapware e malware possibile ogni loro produzione e a fare error handling come viene viene (“non hai driver aggiornati. ciao.” e roba che parte e non fa più nulla o inizializza all’infinito o le barre di caricamento finte).

O si va sugli emulatori payware e si spera che siano decenti, o si compra un tablet da 80 € in offerta, o anche 50 € se si ha una fortuna smodata, o lo si prende gratis con i punti del supermercato (come il mio tablet da 0 €…).

Sarà lento, indecente, ignobile, si romperà dopo un mese, ma è più veloce dell’emulatore ufficiale, si può fare comunque tutto il debugging possibile e immaginabile con ADB (non che ora l’emulatore mi servisse per quello, altrimenti starei già usando il tablet), si può fare il debug delle app che usano il Bluetooth, richiede di consegnare la propria privacy solo a Google e non a Google più una serie di aziende molto dubbie e losche che cercano di infilarti in gola app tirate su dalla fogna direttamente.

Decisamente meno sbattimenti e si può anche usare come fermacarte!

Annunci

Rispondi

Inserisci i tuoi dati qui sotto o clicca su un'icona per effettuare l'accesso:

Logo WordPress.com

Stai commentando usando il tuo account WordPress.com. Chiudi sessione /  Modifica )

Google+ photo

Stai commentando usando il tuo account Google+. Chiudi sessione /  Modifica )

Foto Twitter

Stai commentando usando il tuo account Twitter. Chiudi sessione /  Modifica )

Foto di Facebook

Stai commentando usando il tuo account Facebook. Chiudi sessione /  Modifica )

Connessione a %s...