Emulando aplicativos Ionic/Cordova no Genymotion
Fala pessoal, beleza? Esse é um post rápido pra dar uma dica de algo que descobri hoje. Bom, todo mundo sabe, e não é de hoje, que o emulador android presente no Android Studio é uma porcaria maravilha. E é por isso que grande parte dos desenvolvedores android utilizam o Genymotion como alternativa.
O Genymotion é um emulador rápido e essa palavra “rápido” define ele. Enfim, se você ainda não o conhece e/ou não o utiliza cadastre-se no site www.genymotion.com, faça o download e seja feliz. A utilização dele é muito fácil. É só criar um novo “Virtual Device” e rodar.
E para rodar aplicativos feitos com o Cordova ou Ionic dentro do Genymotion basta rodar seu Virtual Device e executar o código:
ionic run android
Mas por que “run” e não “emulate”?
Isso ocorre pois o Genymotion não notifica o Android/ADB que ele é um emulador. Ele se “apresenta” como sendo um dispositivo e é por isso que nós temos que executar o comando do Cordova para rodar o aplicativo em um dispositivo real, pois assim ele encontrará o Genymotion.
Debugando
Como vocês já sabem, pois leram na documentação, o Ionic Framework é um framework feito para rodar em dispositivos recentes (Android 4+ e iOS 6+) não adiantará criar um virtual device do Galaxy S2 com Android 2.3.6. Particularmente, eu recomendo que criem o virtual device de qualquer dispositivo com Android Kit Kat, pois no Kit Kat o navegador padrão é o Chrome e não mais o Android Browser, logo, a WebView do dispositivo também roda o Chrome.
Faço essa recomendação pois no Chrome é possível debugar sites abertos no navegador remotamente. E isso também serve para aplicativos que usam a WebView. Para inspecionar o dispositivo basta você ir em Menu > Ferramentas > Dispositivos ou abrir uma nova aba no Chrome e digitar:
chrome://inspect
Então ele irá carregar uma página como a seguinte e então é só clicar em “inspect” para começar a trabalhar.
Ao clicar em “inspect” o Chrome irá abrir o Developer Tools e você terá todos os recursos dele para se divertir.
Qualquer dúvida quanto a inspeção de dispositivos remotos utilizando o Google Chrome é só acessar esse tutorial.