Curso de Android

De WikiEducator
Saltar a: navegación, buscar


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