Diferencia entre revisiones de «Usuario:Juanda/android/emulador»

De WikiEducator
Saltar a: navegación, buscar
(Uso del emulador)
Línea 51: Línea 51:
 
</div>
 
</div>
  
 +
<div class="slide">
 +
*Tiempos carga desde ordenador Intel(R) Core(TM)2 Duo CPU    E8500  @ 3.16GHz
 +
:emulador ARM: 1,10 a 1,20 (10 segundos menos sin boot animation)
 +
:emulador x86: 15-18 segundos
 +
:emulador x86 con virtualización kvm: 15-18 segundos
 +
 +
*Debemos marcar '''snapshots''' para acelerarlo (no es compatible con la opción de emulación de GPU)
 +
</div>
  
 
<div class="slide">
 
<div class="slide">
 +
====Teclas rápidas====
 +
*Son muchas... las más importantes:
 +
:Inicio: Tecla Home.
 +
:Esc: Tecla de volver.
 +
:'''Ctrl-F11''': Cambia la orientación entre horizontal y vertical.
 +
:Alt-Intro: Visualiza el emulador a pantalla completa.
 +
</div>
  
====Instalación KVM====
+
<div class="slide">
 +
==Configuración del emulador==
 +
</div>
 +
<div class="slide">
 +
====Pasos preliminares====
 +
*Descargamos la plataforma SDK sobre la que vaya a funcionar el navegador: en este caso elegiremos la 2.2
 +
*Damos de alta un nuevo dispositivo Android (observa que se crea en color verde).
 +
*Vamos a crear nuestro dispositivo AVD (Android Virtual Device) a partir del dispositivo anterior y lo llamaremos "prueba"
 +
*Ejecutamos el dispositivo
 +
*Comprobamos que tenemos acceso a el mediante adb:
 +
<source lang="bash">
 +
juanda@dpto-01:~/Android/eclipse$ adb devices
 +
List of devices attached
 +
emulator-5554 device
 +
 
 +
juanda@dpto-01:~/Android/eclipse$ adb shell
 +
#
 +
</source>
 +
</div>
 +
 
 +
 
 +
<div class="slide">
 +
====Carencias del emulador====
 +
*Faltan comandos (por ejemplo find o el editor vi).
 +
*Falta el Play Store
 +
*Faltan las APIs de Google
 +
*¿Espacio en partición /system?
 +
*Al apagar el emulador lo que haya instalado en la partición system desaparece
 +
*En el momento que reiniciemos
 +
</div>
 +
 
 +
 
 +
 
 +
<div class="slide">
 +
====Instalación de KVM====
 
*Comprobamos que la máquina soporte aceleración de hardware (valor superior a 0):
 
*Comprobamos que la máquina soporte aceleración de hardware (valor superior a 0):
 
<source lang="bash">
 
<source lang="bash">
Línea 84: Línea 133:
 
</source>
 
</source>
 
</div>
 
</div>
<div class="slide">
 
*Tiempos carga desde ordenador Intel(R) Core(TM)2 Duo CPU    E8500  @ 3.16GHz
 
:emulador ARM: 1,10 a 1,20 (10 segundos menos sin boot animation)
 
:emulador x86: 15-18 segundos
 
:emulador x86 con virtualización kvm: 15-18 segundos
 
  
*Debemos marcar '''snapshots''' para acelerarlo (no es compatible con la opción de emulación de GPU)
 
</div>
 
  
<div class="slide">
+
 
====Teclas rápidas====
+
 
*Son muchas... las más importantes:
+
 
:Inicio: Tecla Home.
+
:Esc: Tecla de volver.
+
:'''Ctrl-F11''': Cambia la orientación entre horizontal y vertical.
+
:Alt-Intro: Visualiza el emulador a pantalla completa.
+
</div>
+
 
</div>
 
</div>

Revisión de 20:20 22 may 2013


AVD

  • Android Virtual Devices
  • Interfaz gráfica para crear dispositivos Android
  • Se ejecuta desde el icono de eclipse o mediante el comando:
juanda@juanda-PC:~/Android/sdk/tools$ android avd
Descargar video
  • El sdk guarda imágenes del sistema para los AVD:
juanda@juanda-PC:~/Android/sdk/system-images/android-17/x86$ ls
build.prop   NOTICE.txt   source.properties  userdata.img
kernel-qemu  ramdisk.img  system.img
  • Cada vez que creamos un AVD nuevo, copia sus imágenes en un directorio de usuario:
juanda@juanda-PC:~/.android/avd/htcdesire.avd$ ls -l
total 542492
-rw------- 1 juanda juanda     16860 abr 20 02:43 cache.img
-rw-rw-r-- 1 juanda juanda       549 abr 15 21:30 config.ini
-rw-rw-r-- 1 juanda juanda        51 abr 20 02:44 emulator-user.ini
-rw-rw-r-- 1 juanda juanda      1280 abr 20 02:43 hardware-qemu.ini
-rw-rw-r-- 1 juanda juanda 506134528 abr 20 02:44 snapshots.img
-rw-rw-r-- 1 juanda juanda      1279 abr 20 02:44 snapshots.img.default-boot.ini
-rw-rw-r-- 1 juanda juanda   4048704 abr 15 21:30 userdata.img
-rw------- 1 juanda juanda  45346716 abr 20 02:44 userdata-qemu.img
juanda@juanda-PC:~/.android/avd/htcdesire.avd$

Optimización del emulador

  • Por defecto, el emulador va más lento que un desfile de cojos.
  • Si está disponible (Intel va con algo de retardo a veces), resulta más útil utilizar un emulador con Intel (haz un wipe user data la primera vez que lo uses, sino, ¿se queda colgado?)
  • Puede ir más rápido también mediante aceleración de máquinas virtuales mediante KVM (Kernel-based virtual machine).
-Instalación.
-Configuración en Eclipse
  • Ojo KVM con VmWare y VirtualBox pueden no llevarse del todo bien
  • Tiempos carga desde ordenador Intel(R) Core(TM)2 Duo CPU E8500 @ 3.16GHz
emulador ARM: 1,10 a 1,20 (10 segundos menos sin boot animation)
emulador x86: 15-18 segundos
emulador x86 con virtualización kvm: 15-18 segundos
  • Debemos marcar snapshots para acelerarlo (no es compatible con la opción de emulación de GPU)

Teclas rápidas

  • Son muchas... las más importantes:
Inicio: Tecla Home.
Esc: Tecla de volver.
Ctrl-F11: Cambia la orientación entre horizontal y vertical.
Alt-Intro: Visualiza el emulador a pantalla completa.

Configuración del emulador

Pasos preliminares

  • Descargamos la plataforma SDK sobre la que vaya a funcionar el navegador: en este caso elegiremos la 2.2
  • Damos de alta un nuevo dispositivo Android (observa que se crea en color verde).
  • Vamos a crear nuestro dispositivo AVD (Android Virtual Device) a partir del dispositivo anterior y lo llamaremos "prueba"
  • Ejecutamos el dispositivo
  • Comprobamos que tenemos acceso a el mediante adb:
juanda@dpto-01:~/Android/eclipse$ adb devices
List of devices attached 
emulator-5554	device
 
juanda@dpto-01:~/Android/eclipse$ adb shell
#


Carencias del emulador

  • Faltan comandos (por ejemplo find o el editor vi).
  • Falta el Play Store
  • Faltan las APIs de Google
  • ¿Espacio en partición /system?
  • Al apagar el emulador lo que haya instalado en la partición system desaparece
  • En el momento que reiniciemos


Instalación de KVM

  • Comprobamos que la máquina soporte aceleración de hardware (valor superior a 0):
juanda@dpto-01:~$ egrep -c '(vmx|svm)' /proc/cpuinfo
2
juanda@dpto-01:~$
  • Instalamos kvm:
$ sudo apt-get install qemu-kvm libvirt-bin ubuntu-vm-builder bridge-utils
$ sudo adduser `id -un` libvirtd
Adding user '<username>' to group 'libvirtd' ...
  • Cerramos sesión y volvemos a entrar. Debemos ejecutar el siguiente comando para ver que esté bien instalado:
$ virsh -c qemu:///system list
 Id Name                 State
----------------------------------
 
$
  • En la configuración del emulador:
Eclipse: Run -> Run Configurations -> Target -> Additional Emulator Command Line Options: "-qemu -m 512 -enable-kvm"
Terminal:
emulator -avd <avd_name> -qemu -m 512 -enable-kvm