# Android/Anàlisi comparativa dels emuladors

Android és un dels SO mòbils més populars que s'executa en una àmplia gamma de mòbils. Un gran avantatge d'Android és que no solament podem executar-ho en sistemes mòbils, sinó que també podem tenir una versió del sistema executant-se en emuladors Android. Els emuladors introdueixen en l'ordinador entorns similars que solem veure en el mòbil. Gràcies a aquests emuladors els desenvolupadors poden provar les seves aplicacions Android en diferents dispositius "emulats" (dins dels equips d'escriptori en els quals estan creant les aplicacions) sense la necessitat d'haver de comprar-los.
Fa un temps els emuladors eren terreny exclusiu del kit de desenvolupament d'Android, però en l'actualitat això ha canviat, ja que existeix una gran varietat d'emuladors gratuïts i de pagament.
Altres usos dels emuladors: usuaris que vulguin jugar amb teclat i ratolí, accedir a aplicacions que no tenim disponibles en un ordinador, etc.

## Emuladors Android
### Emulador Visual Studio per Android(Microsoft)

Microsoft Visual Studio 2017 (gratuït en la seva versió Community Edition) inclou un emulador d'Android que es pot utilitzar com un debugger per a les aplicacions "Xamarin Android" (utilitza C# per desenvolupar aplicacions Android). Aquest emulador és una màquina virtual Hyper-V amb arquitectura x86, que garanteix una fluïdesa elevada i temps d'execució ràpids.
Les màquines virtuals Android creades per aquest emulador (on executem les app programades a Android Studio) són imatges que hem de baixar. Aquestes màquines es poden utilitzar des de el mateix Android Studio, ja que un cop afegida la màquina de forma adequada al programari, només haurem de triar la màquina desitjada. En aquest cas hauríem de triar una que hem creat prèviament amb l’emulador de Visual Studio.
Amb aquest tipus d’emulador es poden configurar diferents màquines amb característiques que estan limitades a les imatges que porta incorporades l’emulador.

#### Que és Xamarin?

Consisteix en una implementació lliure de la plataforma de desenvolupament .NET per a dispositius Android, iOS i GNU / Linux. És a dir, amb Xamarin podríem evitar haver d'utilitzar Java per desenvolupar una aplicació per Android. El concepte és senzill: utilitzar C # i .NET per a la compilació d'aplicacions natives per Android o iOS.
* Avantatges: Xamarin ens permetrà generar la nostra aplicació per iOS (.app) i per Android (.apk), la qual ja correrà de forma nativa. Permet la reutilització de codi. En qualsevol aplicació multiplataforma que hàgim desenvolupat, hi ha mòduls Android que hem hagut de portar a Objective-C. Però en aquest cas, en desenvolupar totes les plataformes en la mateixa tecnologia, no cal reescriure el codi, en poder reutilitzar mòduls ja implementats. Poder desenvolupar aplicacions natives per a Windows Phone, Windows 8 i web en C # i .NET, resulta que la reutilització del codi l'estem exportant a encara més plataformes que iOS o Android. Segons Xamarin, hauríem de poder reutilitzar el 90% del codi aproximadament. Però un dels detalls més importants és que Xamarin ens proporciona accés total a l'API estàndard d'Android.
* Inconvenients: Tot el codi no serà reutilitzable i que reaprofitem més o menys codi dependrà de les nostres capacitats de desacoblar funcionalitat, ja que tot el codi relacionat amb maneig d'interfícies gràfiques no serà reutilitzable. Un altre inconvenient és que qualsevol aplicació en Xamarin ocupa més espai que una nativa, afectant el temps de descàrrega i l'emmagatzematge. Això també provoca, en el cas d'Android, un alentiment inicial en obrir l'aplicació per al cas de Xamarin. A pesar que l'emulador està inclòs en el Visual Studio, es pot utilitzar en altres entorns de desenvolupament com Android Studio, Eclipse o qualsevol altre entorn que suporti ADB. Aquest emulador Android de Microsoft és, irònicament, molt més ràpid i potent que el propi de Google.

#### Què és ADB?

Les sigles ADB signifiquen Android Debug Bridge i es corresponen amb una eina de programari que ens permet interactuar amb el nostre smartphone Android des d'un ordinador. Per tant amb ADB podem executar comandaments per copiar arxius des de l'ordinador al telèfon o viceversa o com per a reiniciar el dispositiu en mode recovery.
Bàsicament, l'ADB és la manera de canviar profundament el programari del nostre smartphone o almenys accedir-hi. Per descomptat, tot això es fa possible a través d'un cable USB amb el qual connectem el telèfon intel·ligent a l'ordinador.
L'ADB és una part fonamental de l'Android Studio, el programari per a desenvolupar aplicacions en Android
Perquè el nostre ordinador reconegui el dispositiu necessitem activar en el terminal la depuració per USB. En Configuració> Informació del telèfon premerem diverses vegades sobre 'Nombre de compilació' fins que apareguin les opcions de desenvolupament. Ara entrarem en aquestes opcions i activarem la 'Depuració per USB'. La primera vegada que connectem el telèfon a l'ordinador no preguntarà si confiem en el mateix.

#### Com instalar l'emulador de Visual Studio per Android(Microsoft)

* Hem de descarregar el programa de Visual Studio 2015 Community Edition al següent enllaç.
* Executem el fitxer descarregat i a continuació comencem la instal·lació del programa seguint els passos de l'assistent d'instal·lació de Visual Studio. És molt important no oblidar-nos de marcar l'opció d'instal·lar l'emulador d'Android.
* Activar les opcions opcionals.
* Existeix una altra opció i és la d'instal·lar solament l'emulador d'Andoird de Visual Studio des del següent enllaç.

#### Crear dispositiu Virtual

* Per crear el nostre dispositiu virtual primer hem d'executar el "Visual Studio Emulator". També podem accedir al programa fent clic en l'opció "Visual Studio Emulator for Android..." situada en la barra d'eines de Visual Studio.
* A continuació se'ns obrirà la finestra de gestió dels dispositius. Des d'aquesta finestra podem afegir i arrencar els diferents perfils de dispositius. Per defecte tindrem disponibles "kitkat 5 mòbil" i "kitkat 7 tablet".
* Seleccionem un dels dispositius que apareix en gris(indica que no està instal·lat). Des de la barra d'eines podem filtrar pels nivells d'API i si fem clic en la icona del signe ">" cap avall, accedim a una informació detallada del dispositiu. Una vegada seleccionat el dispositiu fem clic sobre la icona d'una fletxa cap avall per procedir a la seva creació/ instal·lació.
* Executem el dispositiu fent clic sobre la icona del "play".

#### Com executar la app generada

Quan desenvolupem aplicacions Android des de Visual Studio utilitzant qualsevol de les opcions disponibles (C++, Cordova o Xamarin), tenim en el menú desplegable de depuració una llista dels diferents dispositius virtuals disponibles. Els dispositius virtuals de Microsoft estan precedits per "VS Emulator...".
Una vegada hem seleccionat un dels dispositius hem de prémer F5 per arrencar l'emulador i poder provar la nostra app.
També existeix l'opció d'utilitzar els dispositius creats en l'emulador de Visual Studio des d'Android Studio. A continuació explicarem els passos a seguir:
* El primer que hem de fer és trobar la ID d'una de les màquines. Per a això obrim una consola de comandes i escribim: "c:\Program Files (x86)\Microsoft Emulator Manager\1.0\emulatorcmd.exe" /sku:Android list /type:device". I copiem l'identificador de la màquina que volem emprar com a emulador.
* Obrim Android Studio i entrem al menú "Run" on seleccionem "Edit Configurations...".
* Se'ns obrirà una finestra, a "Default / Android Application" posem com Target Device "Show choose dialog" i marquem "Use the same device for future launches". Això farà que Android studio ens pregunti per un dispositiu ADB connectat quan fem l'Debug de l'aplicació, i recordarà aquest device per a les següents sessions.
* Ara anem a crear un botó que ens permeti llançar directament l'emulador de Visual Studio 2015. Per a això, entrem a "File/Settings". A "Tools", seleccionem "External Tools" i premem el botó d'afegir nova.
* En la següent finestra posem el nom i descripció que vulguem, i omplim els següents valors. *Program: C:\Program Files (x86)\Microsoft Emulator Manager\1.0\emulatorcmd.exe *Parameters: /sku:Android launch /id:00000000-0000-0000-0000-000000000000 (identificació de la màquina, que hem obtingut prèviament)Fem clics en "Ok".
* Premem sobre el botó dret a sobre de qualsevol lloc de la barra d'eines i seleccionem "Customize Menus and Toolbars...".
* Dins el grup "Main toolbar" seleccionem la icona després del qual podem posar el nostre nou botó, i seleccionem "Add after".ç
* Com acció a realitzar pel botó, seleccionem l'eina externa que hem creat prèviament.
* Ja tenim correctament configurat Android Studio per llançar l'emulador de Visual Studio. Povem a executar una aplicació per verificar que hem fet tot el procés correctament. Ara podem desenvolupar programari amb un emulador d'Android Visual Studio i llançat directament des del nostre botó en Android Studio.

### Genymotion

És un emulador que utilitza l'arquitectura x86 per executar de forma contínua i ràpida diferents dispositius Android. I està basat en l'ús de màquines virtuals x86 optimitzades per executar-se sobre VirtualBox.
Les màquines virtuals Android creades per aquest emulador son imatges que hem de descarregar. Es poden utilitzar desde el mateix Android Studio, ja que un cop afegida la màquina de forma adequada al programari, nomès haurem de triar la maquina desitjada. En aquest cas hauriem de triar una que hem creat previament amb l’emulador de Genymotion, que utilitza com a plataforma de les seves màquines VirtualBox.
Amb aquest tipus d’emulador es poden configurar diferents màquines amb característiques que estan limitades a les imatges que porta incorporades l’emulador. Però una vegada creada la maquina es pot modificar el nombre de processadors, la memòria RAM, la grandària de la finestra de la màquina, la xarxa (NAT o Bridge) i opcions del sistema Android com mostrar o no la barra de navegació de Android o poder utilitzar el teclat virtual (programari) per a l'entrada de text.
Un dels principals usos de Genymotion és facilitar el desenvolupament d'aplicacions Android. Gairebé més de 900.000 usuaris registrats usen les seves màquines virtuals per crear aplicacions usant Eclipsi o intelliJ (Android Studio).
Té una interfície simple capaç de suportar diferents funcionalitats accessibles a qualsevol usuari, sense oblidar als desenvolupadors (el seu principal target i model de negoci). A més amb l'ajuda del núvol, augmenta increïblement la velocitat amb la qual es creen dispositius virtuals. Per la virtualització es realitza al núvol, que normalment solent ser servidors molt més potents que el nostre ordinador, a més el núvol aporta altres avantatges:
* Gmtool De la llista de plantilles disponibles dispositius virtuals, crear i executar una instància de dispositiu virtual en el núvol, gmtool per al núvol permet gestionar gairebé qualsevol etapa del cicle de vida del dispositiu virtual. També és capaç de comunicar-se amb els dispositius virtuals sense problemes, ja que estava connectada de forma local en el seu escriptori amb les ordres adb.
* Suport a la integració contínua Ser capaç d'utilitzar la seva infraestructura de comunicació de dispositius virtuals allotjades al núvol per als enginyers i el control de qualitat.
És molt recomanable si disposem d'un equip que no disposi de tota la memòria RAM que volguéssim per desenvolupar en Android. És una alternativa molt bona a l'emulador integrat en Android Studio.

#### Com instal·lar Genymotion

* El primer que hem de fer és anar la pagina web de Genymotion i registrar-nos, per poder utilitzar el programa.
* Una vegada ens hem registrat ens apareixerà una pàgina amb els enllaços de descàrrega del programa d'acord al SO Hem de descarregar el programa de Visual Studio 2015 Community Edition al següent enllaç.que ha detectat que té l'ordinador. Hi ha dos tipus d'enllaços: el primer enllaç descarrega el programa juntament amb la versió del VirtualBox que necessita (recomanable per evitar fallades d'incompatibilitat) i el segon que solament descarrega el programa.
* Executem el fitxer ".exe" que hem descarregat i comencem la instal·lació del programa seguint els passos de l'assistent d'instal·lació del Genymotion.

#### Crear dispositiu Virtual

* Executem el programa i ens apareixerà la següent finestra on hem de fer clic sobre “Add” per crear un nou dispositiu.
* Com crearem un dispositiu per primera vegada hem d'ingressar l'usuari i la contrasenya que hem creat anteriorment per registrar-nos, fent clic en "Sign in" en la següent finestra.
* A continuació seleccionem un dels dispositius disponibles, des de la barra d'eines podem filtrar els dispositius per la versió d'Android, pel model i també podem buscar pel nom del model. A més, si fem clic sobre la icona situada a l'esquerra del nom del dispositiu, podem veure les seves característiques com per exemple nombre de processadors, RAM, API, Screensize, etc. Una vegada seleccionat el dispositiu cal fer clic en "Next".
* En la següent finestra li donem un nom al dispositiu i fem clic en "Next". I començarà la descàrrega dels fitxers necessaris per crear el dispositiu. Quan el dispositiu s'ha creat amb èxit fem clic en "Finish".
* Ara en la finestra principal del programa ens apareixerà el dispositiu creat. Podem configurar les característiques del dispositiu fent clic dret i clic en "Settings": el nombre de processadors, RAM, etc. Per executar el dispositiu ho seleccionem i fem clic en "Play".

#### Com executar la app generada

Existeixen dos plugins, un per a Eclipse i un altre per Android Studio que permeten oferir una llista amb les maquines emulades que estan arrencades al moment d'executar una app. Aquí explicarem la instal·lació del plugin per Android Studio.
* Executem el Android Studio i anem a "Files/Settings" (en Windows o Linux) o a Android Studio/Preferences (Mac US X).
* En la finestra que ens apareixerà seleccionem "Pluggins" i fem clic en "Browse Repositories". Ens apareixerà una altra finestra on buscarem "genymotion".
* Fem clic dret sobre "Genymotion" i clic en "Download and install".
* Ara en córrer l'aplicació des d'Android Studio fent clic al símbol de Genymotion

### Android Studio

Android va apareixer al Juny del 2013, basat en IntelliJ IDEA, un dels IDE per java de primer nivell (entre els millors, amb Eclipse, netbeans) que coincideix amb el canvi d’aquesta llicençia de pagament a gratuita a través de la Llicència Apache 2.0. Android va reemplaçar a Eclipse com l'IDE oficial per al desenvolupament d'aplicacions per Android. Està disponible per a les plataformes Microsoft Windows, Mac OS X i GNU / Linux.
Les màquines virtuals Android creades per aquest emulador son imatges que hem de baixar i són els que fem servir per a executar les apps creades en Android Studio. Amb aquest tipus d’emulador es poden configurar diferents màquines amb característiques que existeixen a les imatges que porta incorporades l’emulador. Pero també es pot crear un dispositiu que no hi ha al mercat amb les característiques que prefereixis. A més les imatges que té incorporades també accepta modificacions (memòria interna, ram, processadors, càmera, xarxa, keyboard, ...).
Una de les funcions que ens ofereix Android Studio és la de crear un AVD que permet definir les característiques d'un mòbil Android, una tablet, etc. Que pots simular en l'emulador d'Android Studio.
Podem provar les nostres apps de manera efectiva, creant un AVD amb un nivell API igual o superior al valor que especifiquem per a la variable “minSdkVersion” per garantir la compatibilitat de la app amb el AVD.

#### Què és AVD?

Android Virtual Device (AVD) et permet definir les característiques d'un telèfon Android, una tablet, o un dispositiu Android Wear o Android TV que vulguis simular en Android Emulator. L'administrador d'AVD et permet crear i administrar AVD fàcilment. És Pot dir que no és propiament d'Android Studio, si no, l'emulador que utilitza Android Studio per a executar el codi compilat.
Una de les principals avantatges que ofereix Genymotion és velocitat, més ràpid que els dispositius virtuals des de l'Administrador de AVD. Això es deu a Genymotion utilitza l'arquitectura x86 per córrer, ideal per al rendiment. El problema amb això és que encara no hi ha cap opció per canviar l'arquitectura, x86 és l'única disponible, això vol dir que no hi ha manera de provar una aplicació en ARM, que és l'arquitectura principal dels dispositius Android.
Encara que no és tan ràpid com Genymotion, l'Administrador d'AVD té alguns avantatges importants. Genymotion, com s'ha dit, només s'executa en l'arquitectura x86, mentre que la AVD Manager és compatible amb x86_32, x86_64, MIPS i, possiblement, el més important d'ARM. Això permet al desenvolupador per posar a prova a través de gairebé qualsevol configuració de dispositius, així com Android Wear, que Genymotion no és compatible.

#### Què és minsdk?

Amb minSdkVersion identifiquen el mínim nivell API amb el que és compatible la teva aplicació.
Per tant sorgeix una pregunta: quin és el mínim SDK s’ha de considerar?. Si es tria un de molt baix pensant en abastar el major tros de mercat, es perd noves i importants funcions, però per contra si s’apunta massa alt es pot quedar amb un fragment d'usuaris molt petit.
* El perfil de maquinari defineix les característiques d'un dispositiu quan s'envia des de la fàbrica.
* L'Administrador de AVD et permet triar una imatge de sistema pel teu AVD proporcionant recomanacions (les imatges de sistema x86 s'executen de manera més ràpida en l'emulador).
* Àrea dedicada a l'emmagatzematge en el teu equip de desenvolupament.
* Una màscara d'emulador especifica l'aparença d'un dispositiu.
L'emulador usa una configuració d'Android Virtual Device (AVD) per determinar l'aparença, la funcionalitat i la imatge del sistema del dispositiu simulat.

#### Com instal·lar Android Studio

* Descarreguem Android Studio en el següent enllaç(windows).(Les captures de pantalla són de la versió 2.3.3 estable de l'Android Studio)
* Executem el fitxer descarregat i seguim els passos de l'assistent d'Android Studio.

#### Crear dispositiu Virtual

* Una cop hem fet la instal·lació obrim l'eina i des de la primera pàgina de l'assistent inicial anem a crear un nou projecte, dins el qual serà on crearem l'AVD. Per a això hem de prémer sobre el botó “Start a new Android Studio project”.
* Se'ns obrirà un nou assistent que hem d'omplir per a la creació del nou projecte.
** Application Name: aquí escriurem el nom del projecte. És només amb fins d'identificació.
** Company Name: podem deixar el que ens ve per defecte, ja que aquest aspecte és necessari per pujar les aplicacions a la Google Play, i en principi no ho farem.
** Project Location: localització on guardarem el nostre projecte.
* Seguim amb l'assistent i arribarem a una nova finestra on hem de seleccionar la versió d'Android per a la que desenvoluparem o, en el nostre cas, la que volem emular.
* Seguim amb l'assistent, deixant les opcions que ens vénen per defecte (ja que estan orientades principalment a desenvolupadors) fins a finalitzar amb l'assistent.
* Un cop premem sobre el botó "Finish" se'ns obrirà finalment l'editor de codi d'Android Studio.
* Ara crearem l'AVD. Per començar hem de prémer sobre el botó "ADV Manager" o anar a "Tools/Android/ADV manager"
* Se'ns obrirà la següent finestra.Per defecte tindrem una màquina virtual creada, segons l'API de desenvolupament que hàgim triat en l'assistent inicial. Podem crear una nova màquina virtual personalitzada fent clic sobre el botó "Create Virtual Device".
* Se'ns obrirà una finestra des d'on podem triar el tipus de dispositiu que volem emular, per exemple, un smartphone, una tablet, 1 SmartWatch, etc. Disposem de diversos models propis de Google, els "Nexus", i podem triar també models genèrics amb configuracions personalitzades. A la part dreta veurem un resum de les característiques del nostre dispositiu seleccionat. Un cop seleccionat fem clic en "Next".
* A continuació hem de triar el sistema operatiu que instal·larem al nostre emulador. Podem triar qualsevol versió d'Android, sempre que tinguem els corresponents SDK instal·lats.
* Seguim amb l'assistent i veurem un resum de les característiques del nostre emulador d'Android. Per iniciar la creació del AVD hem de fer clic en "Finish".
* Una vegada s'ha creat en la finestra "AVD Manager" ens apareixerà el dispositiu creat.Ara si fem clic en "start" l'emulador executarà el AVD que hem creat.

#### Com executar la app generada

* En la finestra del projecte que estem desenvolupant fem clic en la icona de “Play” situat en la barra d'eines.
* Se'ns obrirà una finestra on hem de triar el dispositiu sobre el qual volem arrencar la nostra app.
* A continuació s'executarà la nostra aplicació en l'emulador.

### Nox

Duodian Network és una empresa xinesa desenvolupadora d'aquest programari. L'aplicació Nox APP Player, és un emulador d'Android per a PC que ens permet executar aplicacions Android al nostre ordinador fàcilment i de forma molt fluida. Amb Nox APP Player podem executar Android en una finestra adaptada per l'aparença de tablet. D'aquesta manera tant els jocs com aplicacions preparades per funcionar en mode "landscape" funcionaran així sense problemes, aprofitant el millor possible la pantalla del nostre ordinador.
L'entorn té integrat "Play Store", la qual cosa ens permet instal·lar aplicacions com si ho féssim en el nostre mòbil o tauleta.
Aquest emulador no està destinat a executar apps programades directament des de l'Android Studio. En principi aquest tipus d'emulador està creat per a simular una màquina Android de forma completa a un ordinador portàtil o de sobretaula, tauletes, etc. Ja que es tracta d'una imatge d'una versió del sistema operatiu Android, on per provar les apps s'haurien d'instal·lar prèviament. Per executar l'app s'utilitza ADB, activant el mode de desenvolupador.
Amb aquest tipus d’emulador es pot configurar una màquina amb característiques que poden no existir a les màquines reals Android.

#### Com instal·lar Nox APP Player

* Es descarrega des de la seva pàgina: http://en.bignox.com/. Un cop descarregat, executem l’arxiu .exe per a arrencar l’instal·lador i premem a “install”.
* Durant la instal·lació, ens apareixerà una finestra que ens demanarà la instal·lació d'un controlador, prenem "Instalar".

#### Crear dispositiu Virtual

* Quan hagi finalitzat donem a “Start”.
* Configuració NOX App Player. NOX App Player pot ser configurat en aspectes com a la resolució de la pantalla o els recursos que utilitza la màquina virtual. Per a accedir a la configuració premem en la icona que està en la cantonada superior dreta.
* En la finestra "General" podem activar (ON) o desactivar (OFF) si volem que l'aplicació s'executi en iniciar-se windows (RUn on Startup) o si volem executar Android com a Root.
* En la finestra "Advanced" podem configurar:
** Recursos dedicats a la màquina virtual (Performance Settings). Aquí podem optar per triar una de les 3 possibles opcions que ens ofereix (Low, Middle o High) o personalitzar-la amb l'opció "Customize".
** Opcions d'inici (Startup Setting). Aquí definirem com desitgem visualitzar la màquina Android: com a Tauleta, com a telèfon mòbil o de forma personalitzada. En funció de l'opció triada, les resolucions que ens ofereix per defecte en la part inferior canviaran. S'haurà d'escollir una compatible amb la resolució de l'equip amb Windows. L'opció "Customize" permet establir una resolució personalitzada. Es recomana escollir una resolució preconfigurada per a Tauleta.
* És important que en la finestra "Interface" estigui marcada l'opció "Virtual buttoms at the botton" que per defecte està desactivada.Aquesta opció ens mostrarà la barra habitual de botons d'Android en la part inferior de la pantalla i a més ens mostrarà el botó "Menu" (3 punts verticals), necessari per a accedir a la configuració de certes aplicacions.
* Per a aplicar els canvis premerem en "Save Changes". Se'ns obrirà una finestra d'advertència en la qual ens indicarà que els canvis no tindran efecte fins que es reiniciï la màquina. Podem reiniciar immediatament prement a "Restart Now" o fer-lo més tard prement a "Decide late".
* Després de reiniciar, executem.

#### Com executar l'app generada

Existeix una manera de connectar Android Studio amb Nox per utilitzar la màquina virtual de Nox com a emulador per executar la nostra app. Hem de seguir els següents passos:
* Executem Nox i ens dirigim a la "Configuració de Nox" i en "Root" seleccionem "On" per executar Android com Root.
* Després fem clic en "Save Changes" i reiniciem la màquina.
* Anem a la configuració (settings) d'Android en Nox, després ens dirigim a "About Tablet" i fem clic com a mínim cinc vegades a "Build Number".
* Després tornem a la configuració d'Android i trobarem l'opció "Developer Options".
* Fem clic en "Developer Optionst" i habilitem "USB debugging".
* Ara Obrim "cmd" (símbol de Sistema) i anem al directori "bin" situat en la ruta d'instal·lació de Nox (#cd C:\Program Files\Android\noxmobile\Nox\bin). I executem la següent comanda: #nox_adb.exe connect 127.0.0.1:62001. Veurem un avís que s'ha connectat amb èxit, en cas contrari reiniciem la màquina i tornem a executar la comanda.
* Ara Android Studio detectarà Nox.

### Andy OS

Andy és un emulador d'Android totalment gratuït que ens permetrà utilitzar el sistema operatiu de Google des del nostre PC juntament amb el nostre teclat i ratolí per poder utilitzar les aplicacions disponibles, amb el teclat i ratolí en comptes de l'incòmode teclat de la pantalla.
Andy no ofereix una interfície personalitzada ni publicitat, pel que és totalment gratuït per a tots els usuaris i permet gaudir del potencial d'Android i de la seva interfície original des del nostre ordinador. Aquest emulador treballa a través de VirtualBox com una màquina virtual, tot i que l'acceleració gràfica i tots els components del sistema operatiu de Google ofereixen un alt rendiment i funcionen de forma estable.
Aquest emulador no està destinat a executar les apps programades directament des de l'Android Studio. Aquest emulador està creat per a simular una màquina android de forma completa a un ordinador portàtil o de sobretaula, tauletes, etc. Sense la possibilitat de modificar les prestacions precuinades de la màquina. Per executar una app s'utilitza l'ADB com en l'emulador explicat anteriorment.

#### Com instal·lar Andy OS

* El primer que hem de fer és descarregar aquest emulador des de la seva pàgina web principal. L'instal·lador ocupa menys d'1 megabyte perquè durant el procés d'instal·lació descarregarà tots els fitxers necessaris i les versions més actualitzades del programari disponibles en aquest moment. Un cop descarregat l'executem i hem de seguir l'assistent com el de qualsevol altra aplicació de Windows. En la primera finestra hem de fer clic en "Next".
* Després acceptem els termes d’ús.
* Començara la descàrrega dels paquets necessaris.
* Un cop finalitzi la descàrrega començarà automàticament l'actualització de tot el programari, així com la instal·lació de la versió més recent de VirtualBox i la creació de la màquina virtual d'Android.

#### Crear dispositiu Virtual

* Esperarem que el procés previ en la instal·lació finalitzi, que triga diversos minuts, abans de continuar.
* Un cop finalitzi tot el procés d'instal·lació i configuració estarem llestos per començar a utilitzar aquest emulador d'Android. Podem prémer sobre la icona de "Andy" que ha creat a l'escriptori i automàticament es carregarà la màquina virtual i podrem començar a utilitzar Android al nostre ordinador com si es tractés d'una tablet.Iniciar Andy per primera vegada és com iniciar qualsevol altre dispositiu Android. Hem de seguir les indicacions de l'assistent per especificar l'idioma que tindrà la interfície i ingressar un compte de correu de Gmail. La finestra d'Andy podem veure en la part inferior dos grups de botons.
** A l'esquerra estan els que emulen als botons físics d'alguns dispositius Android, corresponents al botó Enrere, Home i Opcions. Atès que Andy utilitza una versió Jelly Bean d'Android, ja inclou aquests botons integrats en la seva interfície tàctil.
** Més a la dreta trobarem els que configuren el tipus de vista i ajusten la grandària de la finestra perquè imiti la resolució original del dispositiu emulat o veure-ho a pantalla completa.

## Comparativa
### Plataforma

| Emulador | SO Compatibles |
| Visual Studio per Android | Windows |
| Genymotion | Windows Linux Mac OS |
| Android Studio | Windows Mac OS Linux |
| Nox | Windows Mac OS |
| Andy OS | Windows Mac OS Linux |

### Llicència

| Emulador | Tipus |
| Visual Studio per Android | Free |
| Genymotion | Free Nomès per a ús personal i privat, amb característiques bàsiques: ·Càmera ·Bateria: Testejar les apps amb diferents nivells de bateria ·GPS: Testejar apps amb accés a GPS ·Puglins: Compatibilitat amb Android SDK, Eclipse i Visual Studio ·Browsers: Paquet de navegador Android per a testestejar una pàgina web des de qualsevol navegador Android. ·Adaptabilitat total: Compatibilitat amb Mac OS X, Windows, Linux. Indie Per a desenvolupadors independents, 99€/any per a entitats amb 2 empleats com a màxim, amb les següents característiques: ·Càmera ·Bateria: Testejar les apps amb diferents nivells de bateria ·GPS: Testejar apps amb accès a GPS ·Puglins: Compatibilitat amb Android SDK, Eclipse i Visual Studio ·Browsers: Paquet de navegador Android per a testestejar una pàgina web des de qualsevol navegador Android. ·Adaptabilitat total: Compatibilitat amb Mac OS X, Windows, Linux. Business Destinat a edició d'escriptori per a petites i mitjanes empreses, 299€/any per usuari, amb les següents característiques: ·Càmera ·Bateria: Testejar les apps amb diferents nivells de bateria ·GPS: Testejar apps amb accés a GPS ·Puglins: Compatibilitat amb Android SDK, Eclipse i Visual Studio ·Browsers: Paquet de navegador Android per a testestejar una pàgina web des de qualsevol navegador Android. ·Adaptabilitat total: Compatibilitat amb Mac OS X, Windows, Linux. ·Funcions de prova i de control de qualitat ·Suport estàndard Enterprise Per a grans empreses, preu a consultar, amb les següents característiques: ·Càmera ·Bateria: Testejar les app amb diferents nivells de bateria ·GPS: Testejar apps amb accés a GPS ·Puglins: Compatibilitat amb Android SDK, Eclipse i Visual Studio ·Browsers: Paquet de navegador Android per a testestejar una pàgina web des de qualsevol navegador Android. ·Adaptabilitat total: Compatibilitat amb Mac OS X, Windows, Linux. ·Característiques de proves de control i de qualitat de primer nivell. ·Suport de primer nivell ·Instal·lacions de servidors amb llicències. ·Funcions de col·laboració en el núvol. ·Característiques de proves de control i de qualitat del núvol |
| Android Studio | Free |
| Nox | Free |
| Andy OS | Free |

### Versió

| Emulador | Versió Android |
| Visual Studio per Android | De la 4.0 fins 7.1 |
| Genymotion | De la 2.3 fins 7.1 |
| Android Studio | Totes fins la 8.0 |
| Nox | Unicament Android 4.4.2 |
| Andy OS | 2.3, 4.1, 4.2, 4.3, 4.4, 5.0, 6.0 |

### Requisits Mínims

| Emulador | Requisits |
| Visual Studio per Android | Compatibilitat amb Hyper-V Versió de 64 bits de la edició Pro de Windows 8, Windows 8.1, Windows10 o superior 6 GB de memòria RAM Processador que permeti SSSE3 |
| Genymotion | OpenGL 2.0. VT-x o AMD-C habilitat en la configuració de la BIOS. 2 GB de memòria RAM. 100 MB d’espai lliure en disc dur per la instal·lació Genymotion. Es requereix com a mínim 2GB de espai lliure per a desplegar cada dispositiu virtual Genymotion. Connexió a Internet. Resolució de pantalla superior a 1024*768 píxels |
| Android Studio | Java Development Kit (JDK) actualizada. Android Standard Development Kit (SDK). Android Virtual Devices (AVD). 4 GB de RAM (8 GB de RAM recomanat). 2 GB d'espai de disc lliure mínim (4GB recomanat). Resolució mínima de 1.280 x 800. 64 bits i processador Intel. |
| Nox | 2 GB de memòria RAM (4GB de RAM recomanat). 2,2 GHz de CPU. 3 GB de disc dur. 1GB de memòria de video. |
| Andy OS | Dual core AMD o Intel CPU amb suport de virtualització. 3 GB de memòria RAM; Andy utilitza menys de 1 GB per executar les apps. 10 GB de disc dur. GPU amb suport de OpenGL 2.1 |

## Avantatges i desvantatges

| Emulador | Avantatges | Desvantatges |
| Visual Studio per Android | Executa gairebé a la velocitat d'un dispositiu físic, facilitant la depuració en aplicacions amb molts gràfics que requereixen un alt rendiment del processador. Integra la seva aplicació en entorns d'usuari reals. Sensors, inclosos l'acceleròmetre, l'orientació de la pantalla, la targeta SD, la bateria, la tecnologia multitàctil, el GPS, la càmera, l'àudio. Ajuda a reduir el temps i les despeses de les funcions de depuració en els dispositius físics. Els perfils de dispositiu permeten l'orientació a una àmplia varietat de maquinari d'Android. Permet l’operació d'arrossegar i deixar o connectar-se a les eines d'Android per ADB. Depuració totalment integrada per a projectes multiplataforma i d'Android | La seva utilitat, ja que és un emulador relativament nou. Ocupa molta memòria. No tots els sistemes operatius suporten la màquina virtual Hyper-v. |
| Genymotion | Permet als usuaris canviar la versió d'Android. Fàcil d'utilitzar, té la funció d'arrossegar i deixar anar. No presenta problemes de compatibilitat i ofereix connectivitat a través d'Ethernet o Wifi. Disponible per a Mac. | Només és gratis quan és per a ús personal. No és compatible amb notificacions automatitzades. Requereix registrar-te en Genymotion per a ser instal·lat. Tenir instal·lat primer VirtualBox. |
| Android Studio | Millor compatibilitat, ja que va ser creat pels mateixos desenvolupadors d'Android, així que funciona amb la majoria de les aplicacions. És gratuït. | No ofereix notificacions automatitzades. Necessita que estigui instal·lat prèviament el SDK. |
| Nox | Instal·lació senzilla. Integra Play Store de Google. Permet l'ús de dispositius d'entrada, com ara teclats i comandaments de joc. Totalment compatible amb Windows 10. Opcions de configuració avançada com la gestió del funcionament del processador i l'ús de la RAM. | Molta publicitat. No completament compatible amb certes aplicacions o jocs. No és compatible amb les aplicacions que fan servir GPS per localització. |
| Andy OS | Andy Android emulator podem citar la seva interfície amigable amb l'usuari, ràpida i intuïtiva. Funció per sincronitzar fàcilment les aplicacions des del PC cap al telèfon. Possibilitat d'usar el telèfon com un control remot, les notificacions automatitzades i la capacitat d'emmagatzematge il·limitada que ofereix. Disponible per Mac. | Necessita que instal·lem VirtualBoxprimer. Només funciona amb la versió d'Android corresponent a la versió d'Andy OS. |

## Conclusió

És difícil saber quin dels emuladors és el millor, ja que tots tenen els seus pros i contres. Però després d'haver experimentat amb cadascun dels emuladors que hem explicat en aquest document, ens decantem per “Genymotion”perquè:
- Els desenvolupadors d'aquest programa van actualitzant la versió de Android que està actualment al mercat.
- L'emulador s'executa amb fluïdesa.
- Podem utilitzar-ho des d’Android Studio i Eclipse.
- Ocupa poca memòria en comparació dels altres simuladors.
- Permet utilitzar un rang ampli d'aplicacions Android.
- Requereix pocs requisits per al seu bon funcionament.

## Bibliografía

* Visual Studio. https://www.visualstudio.com/es/vs/msft-android-emulator/
* Visual Studio Android Emulator. https://developer.xamarin.com/guides/android/deployment,_testing,_and_metrics/debug-on-emulator/visual-studio-android-emulator/#overview
* Conoce Android Studio. https://developer.android.com/studio/intro/index.html?hl=es-419
* Andy OS. http://www.andyroid.net
* Andy, FAQs. http://www.andyroid.net/faqs
* February 17, 2016. How to connect Android Studio with Nox App Player. http://en.bignox.com/blog/how-to-connect-android-studio-with-nox-app-player-for-android-development-and-debug/
* 12 Nov 2015. Review Nox. http://nox-app-player.software.informer.com/
* 13 Mar 2014. Qué es Genymotion y cómo se usa este veloz emulador de Android. http://wwwhatsnew.com/2014/03/13/que-es-genymotion-usar-emulador-android/
* Documentation – Genymotion Android Emulator. https://docs.genymotion.com/Content/Home.htm
* Faqs Genymotion. https://www.genymotion.com/faq/