Dispositivos Virtuais de Android: AVD

De MediaWiki
Saltar a: navegación, buscar

Introdución

  • Só poderemos escoller aquelas versións do S.O. que descargáramos previamente co SDK Manager, escollendo o SDK plataform e algunha das imaxes (INTEL, ARM) do máquina en cuestión. Lembrar que non é necesario instalar todas as opcións da API como xa explicamos neste enlace.


Creando novos dispositivos virtuais

Podemos acceder a través do AVD (Android Virtual Device) Manager:


PDM AndroidStudio avd1.jpg


Temos unha ferramenta por liña de comandos que nos permite facer as mesmas operacións. Atópase no cartafol de instalación do SDK\tools\bin\avdmanager.bat

Podemos consultar os diferentes parámetro que pode levar este comando neste enlace.


  • Dende o AVD Manager do Android Studio aparece a seguinte pantalla cos dispositivos virtuais creados:


PDM AndroidStudio avd2.jpg


Podemos crear un calquera a partires dos máis coñecidos premendo o botón Create Virtual Device:


PDM AndroidStudio avd3.jpg


  • Nota: Cabe sinalar como xa vimos neste enlace que para poder crear un dispositivo cunha API determinada teremos que ter descargada previamente a imaxe do S.O. dende o SDK Manager.


En calquera momento podemos lanzar o dispositivo, eliminalo ou editalo para cambiar as súas características.


PDM AndroidStudio avd5.jpg


PDM AndroidStudio avd4.jpg


Se prememos no botón Show Advanced Settings podemos cambiar parámetros como o tamaño da tarxeta, se o dispositivo ten ou non cámara (emulada ou real),...

Crear un AVD

  • A continuación vaise crear un AVD:
    • Co seu dispositivo asociado
    • CPU
    • Versión de Android
    • Memoria
    • Tarxeta de memoria, etc.

NOTA: As seguintes imaxes, como xa indicamos, están baseadas na última versión da API.


  • Imos ver en máis detalle a pantalla anterior:

PDM AndroidStudio avd11.jpg

  • Api/Resolución: Podemos indicar a resolución da pantalla así como a API utilizada.
  • Orientation: Orientación inicial do dispositivo cando arranque. Se pode cambiar unha vez iniciado.
  • Emulated Perfomance: Utiliza o hardware da tarxeta gráfica. Fai uso das librerías OPEN GL ES. Se o emulador queda coa pantalla en negro, deberemos deshabilitar esta opción e poñer 'Por Software'.
  • Enable device frame: Crea un marco ao arredor do dispositivo virtual como se foxe un real.


  • Opcións avanzadas na creación dun AVD:
Premendo no botón Show Advanced Options:

PDM AndroidStudio avd11.jpg

  • Camera: Podemos emular unha cámara frontal / traseira ou utilizar unha cámara real que teñamos conectada ao computador.
Podemos escoller entre:
  • None: Non ten cámara.
  • Emulated: Emula unha cámara.
  • Virtual Scene (soamente na back). Serve para emular cámaras web con aplicacións de realidade aumentada. Máis información neste enlace e un exemplo neste vídeo.
  • WebcamX: Cámara real conectada ao computador. X normalmente será o número 0.
  • Network: Podemos emular a velocidade e tempo de resposta da 'rede' á que está conectado o emulador. Se pode cambiar despois.
  • Memoria e almacenamento:
  • RAM: Memoria física do AVD.
  • VM Heap: Memoria utilizada pola máquina virtual de Java (Java Virtual Machine). Utilizada en parte polas aplicacións para gardar as variables instanciadas. Con 32MB debería chegar.
  • Internal storage: Tamaño da memoria interna do dispositivo. Esta memoria non é unha SD Card externa.
  • Memoria externa:
  • Studio-managed: Tamaño da memoria externa.
  • External File: Se queremos compartir unha memoria entre diferentes AVD teremos que escoller esta opción. Máis información neste enlace.
Ao facelo pedirá a ruta a un arquivo de extensión img previamente creado.
Para crear unha tarxeta SD Externa debemos utilizar a ferramenta de liña de comandos mksdcard que se atopa no cartafol do SDK/tools (en Linux /opt/sdk/tools).
Por exemplo, en Linux, situados no cartafol anterior dende un terminal: ./mksdcard -l tarxetaSD 1024M /home/angel/mySdCardFile.img
  • Enable Device Frame: Marco 'físico' que rodea o AVD para simular un marco real.
  • Custom Skin: Indica o 'aspecto' que vai ter o S.O. Android e as súas aplicacións, a resolución da pantalla, o deseño que van ter as pantalla por defecto, a aparencia dos botóns,...Son deseños cunhas características predefinidas.




Correndo-Editando dispositivos virtuais

  • Para executar un AVD debemos premer o botón Play dende o 'AVD Manager':
PDM AndroidStudio avd run 1.jpg


Unha vez en funcionamento aparece o dispositivo móbil na pantalla:
PDM AndroidStudio avd run 2.jpg
Na parte dereita aparecen diferentes opcións coma:
  • Apagar o dispositivo.
  • Modificar o volume.
  • Rotar a pantalla.
  • Facer unha captura de pantalla do dispositivo.
  • Facer zoom de una parte da pantalla do dispositivo.
  • Ir atrás.
  • Ir a casa (home).
  • Overview: Acceder ao settings e aplicacións en execución.
  • Nos puntos suspensivos accedemos a outra serie de opcións:


PDM AndroidStudio avd run 3.jpg
  • Podemos emular:
  • Unha chamada de teléfono.
  • Envío dunha mensaxe.
  • Mandar coordenadas GPS ao sensor, como se estivéramos movéndonos.
  • Emular que modificamos o acelerómetro, rotar o teléfono,...
  • Na sección de snapshoot nos permite tomar 'instantáneas' do estado do dispositivo. Ven ser como tomar unha foto do todo o dispositivo (aplicacións instaladas,datos da SD,....) de tal forma que se modificamos algo e queremos volver ao estado anterior, podemos facer uso do snapshoot.



  • Para editar un dispositivo virtual temos que premer o botón de Edit no AVD Manager:
PDM AndroidStudio avd run 4.jpg


  • Na parte da dereita temos unha frecha que desprega unha serie de opcións:
PDM AndroidStudio avd run 5.jpg
  • Duplicate: crea un novo AVD igual ao actual.
  • Wipe Data: Borra os datos do emulador e volve ao estado inicial.
  • Cold Boot Now: Cando se pecha o emulador se garda o seu estado para que cando se volva a executar, o tempo de carga sexa moito máis baixo. Se se quere cargar o emulador dende o inicio, debemos escoller esta opción.
  • Show on Disk: Amosa onde se atopa fisicamente os arquivos que conforman o emulador. Son dous, un .ini e outro .img
  • Delete: Borra o emulador.
  • Stop: Para o emulador.


  • A opción Show on Disk amosa os arquivos necesarios para o emulador.
Entre eles cabe sinalar o arquivo config.ini, un arquivo de texto onde aparecen todas as opcións de configuración do emulador.
PDM AndroidStudio avd run 7.jpg




  • Ao correr por primeira vez o emulador, aparecerá na sección de configuración do teléfono (desprazando o rato da parte superior á inferior sen soltalo) que é necesario configurar a tarxeta de almacenamento.



  • Tamén é posible correr un emulador dende consola facendo uso de programa emulator.
Nas versións actuais do SDK podedes atopar un cartafol de nome cartafol SDK/emulator/ no que se atopan as diferentes versións do programa para as diferentes plataformas. Nas versións anteriores do SDK se atopaba no cartafol tools/.
Máis información neste enlace.
  • No enlace anterior deberiades atopar as instrucións para listar emuladores instalados, iniciar un emulador e asociar unha tarxeta externa a un emulador.



SDCard - Device File Explorer


  • Como vimos anteriormente, cando creamos un dispositivo virtual, este vai ter unha tarxeta 'interna' onde se instalan as aplicacións (a partires da versión 6.0 xa poden instalarse na tarxeta externa) e unha SD CARD que pode ser:
  • Studio Managed
  • Un arquivo externo.


PDM AndroidStudio avd sd 1.jpg


A diferencia entre Studio Manager e arquivo externo, e que coa opción de arquivo externo imos poder 'levar' a tarxeta a diferentes emuladores, de tal forma que todos eles poidan compartir os datos gardados na tarxeta.


  • Para poder traballar coa tarxeta podemos facer uso del Device File Explorer que se atopa no menú View de Android Studio:
PDM AndroidStudio avd sd 2.jpg


Unha vez accedido teremos a seguinte pantalla:
PDM AndroidStudio avd sd 3.jpg
Dende aquí podemos:
  • Subir arquivos dende a máquina real ao emulador.
  • Borrar arquivos / cartafoles
  • Gardar arquivos dende a máquina real ao emulador.
Deberedes premer o botón dereito do rato sobre o cartafol/arquivo para realizar a operación.


  • Se facedes calquera cambio no emulador (por exemplo, baixades una imaxe) isto non se vai reflectido no Android Studio ata que sincronicedes o contido do cartafol.
Para iso, tedes que situarvos sobre o cartafol a sincronizar e premer o botón dereito do rato:
PDM AndroidStudio avd sd 4b.jpg


  • Se tedes varios emuladores, podedes alternar un ou otro:
PDM AndroidStudio avd sd 4c.jpg




  • Se vos fixades, ao situarvos sobre a sdcard có rato e esperar un intre, aparecerá unha información e veredes que realmente non é un cartafol se non un enlace directo a outro cartafol diferente.
Se seguides as 'rutas' chagaredes ao cartafol /storage/emulated/0' no que realmente está gardada a información da SDCARD.
PDM AndroidStudio avd sd 5.jpg


  • O número 0 é utilizado por Android para distinguir entre diferentes usuarios, xa que podemos ter máis dun usuario no dispositivo Android, cada un deles coa súa información. Neste caso o segundo usuario tería como lugar de almacenamento outro número.
PDM AndroidStudio avd sd 6.jpg


Nota: Soamente están permitidos múltiples usuarios en Lollipop (Android 5.0) e superior, así como en tablets con KitKat (Android 4.4.) e superior. Podedes seguir este enlace para aprender a crear novos usuarios an Android.
  • O cartafol obb ven de opaque binary blob é utilizado cando descargamos certas aplicacións cun arquivo grande dentro do cal están os arquivos necesarios para a instalación da aplicación.



Creando unha SDCard externa

  • Para crear unha sdcard que poida ser compartida por varios emuladores Android debemos de facer uso da ferramenta mksdcard.
O que fai dito programa é crear un arquivo cun nome e cun tamaño que será a tarxeta SD a utilizar polo emulador de Android.
O programa mksdcard se atopa no cartafol onde se instalou o SDK/tools/.


Vexamos un exemplo, tendo creado un cartafol de nome 'temporal' no raíz do disco duro:
  • Windows:
  1. \ruta ao SDK\tools\mksdcard.exe -l tarxetaSDComun 200M "C:\temporal\tarxetacomun.img"
  • Linux:
  1. /ruta ao SDK/tools/mksdcard -l tarxetaSDComun 200M /temporal/nomeArquivo.img


  • Agora dita SD-card xa pode ser asociada a un emulador.


  • Nota: Dende Android Studio cunha tarxeta asociada, non deixa cambiala por unha diferente.
Sen embargo dende consola coa orde emulator si deixa iniciar o emulador. Podedes consultar o parámetro que tedes que enviar xunto có executable neste enlace.
Se pode facer se cambiamos o contido do arquivo config.ini do emulador. Debemos de saír do AVD Manager e volver a entrar.





-- Ángel D. Fernández González -- (2018).