De Manuais Informática - IES San Clemente.
Introdución
- Android proporciona un emulador que permite executar e probar aplicacións sen ter que usar un dispositivo real.
- Para iso ofrece a posibilidade de crear Dispositivos Virtuais de Android (AVD - Android Virtual Devices).
- Nos seguintes enlaces disponse de máis información.
- No presente caso dá igual traballar con calquera SO, por tanto realizaranse as capturas en Ubuntu e se hai diferencias significativas nos outros SOs, estas serán indicadas.
Situación de partida
- Por se quedaron trazas da instalación ao executar como root Eclipse e a utilidade tools/android aconséllase que se sigan os seguintes pasos:
O Xestor de Dispositivos Virtuais de Android
- O Xestor de Dispositivos Virtuais de Android pode ser iniciado de varias formas:
- O Xestor de AVDs
Dende a perspectiva de Java de Eclipse premendo no botón Android Virtual Device Manager. Tamén dende o menú Window -> Android Virtual Device Manager. Buscar esta funcionalidade en Android Studio.
Na carpeta tools do SDK está a aplicación android.
Dende calquera SO pódese lanzar android avd. Neste caso hai que poñer a ruta completa pois non está no path /opt/android-sdk-linux/tools.
En OS X é igual que en Ubuntu.
En Windows pódese lanzar dende Eclipse, dende a consola como no caso anterior (mellor situarse no directorio tools, ou meter entrada no path) ou lanzar a aplicación AVD manager que se atopa na raíz da carpeta do SDK.
Calquera dos métodos anteriores abrirá o Xestor de Dispositivos Virtuais de Android (AVD). Observar como os dispositivos se van gardar en: /home usuario/.android/avd, isto en calquera dos 3 SOs.
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 versión API 18, pero vos tedes que escoller a API 28 como está indicado.
Edición 2020: Nos traballaremos coa API 28. Isto estará indicado nas imaxes nas que se amosa outra API diferente.
- Crear un AVD
Indicar un nome para o AVD: neste caso AVDProba.
Seleccionar o dispositivo, neste caso seleccionouse un con tamaño de pantalla 3,3".
No caso de ter APIs L e Wear podemos seleccionar dispositivos que traballan con esas versións do SO.
Seleccionar a versión de Android que correrá o AVD. Dependendo das opcións escollidas anteriormente aparecerán diferentes versións.
Edicción 2020: Nos escolleremos: API 28.
Seleccionar a CPU, nesta caso unha Intel, que nas probas realizadas vai, como mínimo, o dobre de rápido que un procesador ARM.
Instalar un procesador Intel permite que se instale un driver para acelerar por HW o AVD, aínda que ese Driver na última versión de MAC OS X (Maverick) da problemas. Isto verase máis adiante.
Se se escollera unha API 16 (Android 4.1.2) permitiríase traballar tamén cun procesador MIPS.
Volvemos á API 16 e ao procesador Intel.
Observar que está marcado que se use o teclado do ordenador, senón usaríase un teclado en pantalla ao igual que calquera dispositivo real.
E observar que está marcado que o dipositivo amose unha botonera como calquera outro dispositivo real, para poder apagar, volume, etc.
Hai dispositivos que permiten ter unha cámara frontal, non é o caso deste. Para a cámara traseira podemos simular unha ou que use a do equipo real.
No caso do novo SDK debemos escoller o SKIN co que se vai amosar o Hardware do teléfono (Botonera).
Esta tamén pode ser lida dende un ficheiro como se explica despois.
Indicar se se desexa que cando se apague o dispositivo faga unha instantánea (Snapshot), para que, cando se inicie, arranque dende a instantánea moito máis rápido. Pero esta opción consume moito máis espazo en disco. (Pódese ver o tamaño do dispositivo en home/.android/avd/dispositivo)
Indicar se se desexa que o AVD faga uso do OpenGL da tarxeta gráfica.
A configuración no noso AVD de proba.
- A continuación vanse realizar distintos inicios co este AVD.
- Como cada quen pode ter un equipo distinto ao equipo co que se elaborou o material, o lector pode cambiar/axustar os parámetros ás súas circunstancias para favorecer que o AVD vai o máis rápido posible.
Ficheiros e configuración dun AVD
- Ficheiros asociados a un AVD
Seleccionar un AVD e premer en Edit.
Vense os detalles dese AVD e ruta dos ficheiros asociados, que como se indicaba enriba está en: /home usuario/.android/avd.
Ir ao home do usuario. Lembrar que en Linux as carpetas que comezan por punto están ocultas. Premer CTRL+H ou premer en Mostrar os ficheiros ocultos.
Aparecerá os ficheiros/carpetas ocultas, entre elas, .android.
Dentro está a carpeta avd e ...
... dentro de avd o ficheiro de configuración asociado ao dispositivo AVDProba: AVDProba.ini e unha carpeta que conten os ficheiros asociados ao dispositivo.
Observar a ruta ao ficheiro AVD. Este é moi interesante porque deste xeito pódense intercambiar AVDs entre usuarios, e simplemente hai que modificar a ruta neste ficheiro, adaptándoa ao novo escenario de destino. Serve por exemplo para pasar unha MV a un alumno ou viceversa.
Agora imos ver o contido da carpeta asociada ao AVD.
Hai 3 ficheiros: un de configuración, outro asociado ao usuario (userdata.img) onde se vai gardar todo canto faga o usuario no AVD, de modo que como se verá despois este ficheiro pode limparse e un terceiro ficheiro que é a SD Card.
Esta SD Card podería ser usada como ficheiro para outro AVD.
Pódense crear ficheiros SD Card co comando tools/mksdcard, máis información en: http://developer.android.com/tools/devices/emulator.html#sdcard
O ficheiro config.ini contén información sobre a configuración do dispositivo.
Un último botón Refresh no xestor de AVDs permite actualizar a lista de dispositivos por se este foron creados dende a consola ou copiados doutro ordenador ao directorio .android/avd.
Iniciar e manipular un AVD
- Antes de instalar ningunha aplicación no dispositivo imos observar o funcionamento do mesmo.
- Funcionamento dun AVD
Seleccionar un AVD e premer en Start.
Por agora premer en Launch, logo veranse as posibles opcións de inicio.
Dispositivo acendéndose e coa botonera HW como un dispostivo real: volume, apagado, Home, Menú, volver, etc. E fixarse que está activado o uso do teclado HW. Pode ser que dea tempo a preparar e tomar un café ... mentres carga.
Premendo CTRL + F11 ou a tecla 7 no teclado numérico (Deshabilitado) pódese rotar o dispositivo a apaisado. Volver a premer CTRL + F11.
Premer en Aplicacións ...
Aviso que indica que se mantemos premida unha aplicación está pasará á pantalla de inicio.
Manter pulsado, co rato, Settings. O rato vai equivaler ao noso dedo, para arrastrar, desprazar a pantalla, etc.
Settings na pantalla de inicio. Volver a premer en Aplicacións
Podemos premer o botón Home en todo momento para regresar á pantalla de Inicio
Pódese desprazar as aplicacións pola pantalla.
Desprazar a pantalla co rato cara á dereita
Vese outra das pantallas de inicio.
Volver á pantalla de inicio e premer o botón HW Menú, aparece o menú asociado á aplicación que estea aberta nese intre, se é o caso.
Ir a Settings para cambiar o idioma
Co rato premido arrastrar cara arriba até que apareza ...
Volver á pantalla anterior co botón Hardware.
Repetir operación ou en calquera caso anterior púidose premer o botón Hardware Home.
Na carpeta asociada ao AVD pódense ver tódolos ficheiros que se crearon e os seus tamaños. Tamén se pode ver que se hai ficheiros .lock é porque o AVD está acceso e ten os ficheiros de traballo bloqueados.
Pechamos o AVD (Non fai falla apagalo no botón correspondente).
E agora vense os ficheiros creados perante o uso do AVD.
Cambio de parámetros do AVD
- Agora vanse cambiar algúns parámetros do dispositivo e ver como afectan a este.
- O usuario pode cambiar todos aqueles parámetros que considere oportunos en orde a favorecer unha maior velocidade de funcionamento do AVD.
- Cambiar parámetros do AVD
Cambiar o tamaño da SD a 128 MiB e habilitar a posibilidade de realizar Snapshots, instantáneas.
Marcar que se inicie o AVD dende un Snapshot e que cando se apague garde o seu estado.
Facer dobre clic sobre el ...
... amplíase a imaxe ... Volver a facer dobre clic para volver ao tamaño normal.
Observar o tamaño do ficheiro snaphots.img
Carga no último lugar no que se estaba traballando no AVD e o inicio é inmediato. Esta vez non hai tempo para o café!!!
Observar o tamaño do ficheiro datos do usuario userdata-qemu.img.
Volver lanzar, pero esta vez habilitar Wiper user data para que borre os datos de usuario e deixe o AVD como novo de fábrica.
Observar que Settings non está na pantalla de inicio e que o dispositivo está de novo en inglés.
Observar como diminuíu o tamaño do ficheiro anterior.
Volver editar o dispositivo e deshabilitar o Snapshot.
O usuario pode probar o rendemento do seu dispositivo facendo uso de GPU, se o desexa.
Lanzamos o dispositivo e apagámolo, pero ...
Non se eliminan os ficheiros de Snapshot, hai que borralos á man se se desexa, pois xa ocupan máis de 1 GiB.
Deshabilitar o uso de teclado Hardware.
Iniciar o dispositivo e ir ao navegador, observar como para teclear hai que facer uso do teclado en pantalla do AVD.
Volver habilitar o teclado Hardware.
Volver lanzar o dispositivo, neste caso pódese xogar coa escala á que se desexa representar o AVD no ordenador real.
Configurar o tamaño do monitor e a resolución.
Iniciar o dispositivo, que a esta escala vese como ...
... o AVD da esquerda. Pódense cambiar os valores de Screen Size para obter o tamaño desexado.
Volver deixar por defecto.
Intercambio de AVDs
- Como se mencionou pódese crear un AVD nun ordenador e copialo a outro. Nesta ocasión vaise copiar o AVDProba creado e Ubuntu a un equipo Windows.
- Intercambio de AVDs
Iniciouse AVD, configurouse en Español e púxose a app Ajustes na pantalla de inicio.
Copiar a carpeta e ficheiro asociados ao AVD.
En Windows iniciamos e xestor de AVDs, por se nos esquecemos onde se gardaban estes. Podemos velo na parte superior do cadro de diálogo.
Pegar os ficheiros copiados de Ubuntu.
No Xestor de AVDs premer en Refresh.
Pódese editar para ver que mantén os parámetros de cando estaba en Ubuntu.
E tal cal se deixou en Ubuntu está no novo ordenador en Windows.
Se non se inicia, revisar o ficheiro AVDProba.ini
Pero mentres se lanza o dispositivo, obsérvase que o HAX (Hardware Accelerated Execution) non está funcionando. Ben!!! é que non está nin instalado ...
Aceleración HW
- Só está dispoñible se a CPU proporciona as extensións de virtualización, que deben estar habilitadas na Bios.
- Esta funcionalidade foi probada en:
- Windows e Mac OS X (Mavericks) con resultados satisfactorios.
- Linux, non se apreciou melloría.
Uso en Linux procesador Intel
- Para poder usar un dispositivo AVD con CPU Intel non pode estar en uso outra tecnoloxía de virtualización como o VirtualBox, senón obtense o seguinte erro ao iniciar o AVD.
Aceleración por HW en Windows
- Hai que instalar un compoñente do SDK Manager.
- Intercambio de AVDs
Iniciar o SDK Manager dende calquera dos métodos vistos.
Seleccionar en Extras o paquete Intel Hardware Accelerated Execution Manager. Instalar ...
... Ostras!!! que hai que lanzar o eclipse ou Android SDK Manager como administrador.
Executar Eclipse como administrador.
Instalar o paquete anterior.
Ir á ruta do SDK /extras/intel/Hardware_Accelerated_Execution_Manager e executar a aplicación IntelHAXM.exe
Aceptar a advertencia de seguridade.
Esta imaxe aparece cando non se dispón das extensións de virtualización ou estas non están habilitadas na BIOS.
Indicar a cantidade de RAM que se vai reservar para Intel HAXM (Hardware Accelerated Execution Manager).
Instalar ... Aceptar as pantallas que poidan aparecer
Lanzar o AVD. Agora pódese comprobar que se está usando HAX. Agora o inicio do AVD debera estar como moito nos 20 segs.
Tamén se pode comprobar que HAX está habilitado co seguinte comando: sc query intelhaxm
Lanzar un dispositivo dende a consola
- Lanzar AVD dende consola
Pode iniciarse dende a consola co comando tools/emulator -avd.
Por exemplo .../tools/emulator -avd AVDProba. En Linux / OS X símbolo & é para que o lance en segundo plano e devolva o control á consola.
- Quen o desexe pode realizar fotos coa cámara do AVD, tanto conectada á cámara real do ordenador, se é o caso, como conectada a nada.
-- Ángel D. Fernández González e Carlos Carrión Álvarez -- (2020).