|
|
Línea 89: |
Línea 89: |
| | | |
| ====Aumentar la partición system==== | | ====Aumentar la partición system==== |
− | <source lang="bash">
| |
| *Al instalar cosas en el emulador en el /system, por defecto puede venir lleno, por lo que debemos cambiar el tamaño de la partición al arrancar: | | *Al instalar cosas en el emulador en el /system, por defecto puede venir lleno, por lo que debemos cambiar el tamaño de la partición al arrancar: |
| + | <source lang="bash"> |
| juanda@juanda-PC:~/Descargas/kk$ emulator -avd nexus4jd -partition-size 400 | | juanda@juanda-PC:~/Descargas/kk$ emulator -avd nexus4jd -partition-size 400 |
− | | + | </source> |
| *Comprobamos que el tamaño de la partición haya cambiado: | | *Comprobamos que el tamaño de la partición haya cambiado: |
| + | <source lang="bash"> |
| root@android:/ # df | | root@android:/ # df |
| Filesystem Size Used Free Blksize | | Filesystem Size Used Free Blksize |
Línea 108: |
Línea 109: |
| | | |
| <div class="slide"> | | <div class="slide"> |
| + | |
| ====Instalación de comandos adicionales==== | | ====Instalación de comandos adicionales==== |
| *Observa la estructura de directorios y los ejecutables que faltan | | *Observa la estructura de directorios y los ejecutables que faltan |
Revisión de 20:43 22 may 2013
Guía Administración Android
Tutorial sobre conceptos básicos sobre el sistema operativo Android
Uso del emulador en Android
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$
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"
- Arrancamos el dispositivo
- Comprobamos que tenemos acceso al dispositivo 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
- El emulador va más lento que un desfile de cojos
Aumentar la partición system
- Al instalar cosas en el emulador en el /system, por defecto puede venir lleno, por lo que debemos cambiar el tamaño de la partición al arrancar:
juanda@juanda-PC:~/Descargas/kk$ emulator -avd nexus4jd -partition-size 400
- Comprobamos que el tamaño de la partición haya cambiado:
root@android:/ # df
Filesystem Size Used Free Blksize
/dev 410M 32K 410M 4096
/mnt/secure 410M 0K 410M 4096
/mnt/asec 410M 0K 410M 4096
/mnt/obb 410M 0K 410M 4096
/system 388M 198M 189M 4096
/data 194M 11M 182M 4096
/cache 64M 1M 62M 4096
root@android:/ #
Instalación de comandos adicionales
- Observa la estructura de directorios y los ejecutables que faltan
- Para instalar nuevos comandos (en /system/bin) se debe tener acceso con lectura y escritura a la partición.
- Utilizaremos busybox para instalar los comandos
- Miramos el tipo de partición de system y el dispositivo que utiliza para hacer un re-mount:
juanda@dpto-01:~/Android/eclipse$ adb shell
# mount
rootfs / rootfs ro 0 0
tmpfs /dev tmpfs rw,mode=755 0 0
devpts /dev/pts devpts rw,mode=600 0 0
proc /proc proc rw 0 0
sysfs /sys sysfs rw 0 0
none /acct cgroup rw,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,cpu 0 0
/dev/block/mtdblock0 /system yaffs2 ro 0 0
/dev/block/mtdblock1 /data yaffs2 rw,nosuid,nodev 0 0
/dev/block/mtdblock2 /cache yaffs2 rw,nosuid,nodev 0 0
#
# mount -o rw,remount -t yaffs2 /dev/block/mtdblock0 /system
- Comprobamos que la partición system tenga escritura:
- - Haciendo un mount
- - Subiendo un fichero mediante push
- -...
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
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:~$
$ 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
- 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)