Diferencia entre revisiones de «Usuario:Juanda/android/emulador»
De WikiEducator
(→Pasos preliminares) |
|||
(10 revisiones intermedias por el mismo usuario no mostrado) | |||
Línea 53: | Línea 53: | ||
<div class="slide"> | <div class="slide"> | ||
+ | |||
+ | ====Simulaciones del entorno==== | ||
+ | *Falta de batería, tráfico de red, llamadas o sms, posición geográfica... | ||
+ | *Cada instancia del emulador utiliza dos puertos, el del adb (por defecto 5555) y uno inferior de consola. | ||
+ | *Podemos ver el puerto de consola mediante el comando adb devices | ||
+ | *Se accede mediante telnet localhost <console-port> | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | <source lang="bash"> | ||
+ | juanda@dpto-01:~/Android/sdk$ adb devices | ||
+ | List of devices attached | ||
+ | emulator-5554 device | ||
+ | |||
+ | juanda@dpto-01:~/Android/sdk$ telnet localhost 5554 | ||
+ | Trying 127.0.0.1... | ||
+ | Connected to localhost. | ||
+ | Escape character is '^]'. | ||
+ | Android Console: type 'help' for a list of commands | ||
+ | OK | ||
+ | gsm call 696797518 | ||
+ | OK | ||
+ | </source> | ||
+ | [http://developer.android.com/tools/devices/emulator.html Más información de comandos] | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | |||
==Configuración del emulador== | ==Configuración del emulador== | ||
</div> | </div> | ||
<div class="slide"> | <div class="slide"> | ||
====Pasos preliminares==== | ====Pasos preliminares==== | ||
− | *Descargamos la plataforma SDK sobre la que vaya a funcionar el navegador: en este caso elegiremos la 2.2 | + | *Descargamos la plataforma SDK sobre la que vaya a funcionar el navegador mediante el SDK Manager: en este caso elegiremos la 2.2 |
+ | *[http://www.media.formandome.es/android/practica_emulador.tar.gz Descargamos los ficheros] para la práctica | ||
*Damos de alta un nuevo dispositivo Android (observa que se crea en color verde). | *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" | *Vamos a crear nuestro dispositivo AVD (Android Virtual Device) a partir del dispositivo anterior y lo llamaremos "prueba" | ||
Línea 142: | Línea 170: | ||
:-... | :-... | ||
</div> | </div> | ||
− | |||
<div class="slide"> | <div class="slide"> | ||
*Instalamos la aplicación SuperUser que se encarga de dar permisos de root a las aplicaciones: | *Instalamos la aplicación SuperUser que se encarga de dar permisos de root a las aplicaciones: | ||
− | <source | + | <source lang="bash"> |
juanda@dpto-01:~/Android$ adb install Superuser.apk | juanda@dpto-01:~/Android$ adb install Superuser.apk | ||
4023 KB/s (1468798 bytes in 0.356s) | 4023 KB/s (1468798 bytes in 0.356s) | ||
Línea 157: | Línea 184: | ||
<div class="slide"> | <div class="slide"> | ||
*Instalamos la aplicación BusyBox que tiene un conjunto de comandos útiles de Linux. | *Instalamos la aplicación BusyBox que tiene un conjunto de comandos útiles de Linux. | ||
− | <source | + | <source lang="bash"> |
juanda@dpto-01:~/Android$ adb install BusyBox.apk | juanda@dpto-01:~/Android$ adb install BusyBox.apk | ||
4034 KB/s (3235962 bytes in 0.783s) | 4034 KB/s (3235962 bytes in 0.783s) | ||
Línea 165: | Línea 192: | ||
</source> | </source> | ||
*Una vez instalada se debe ejecutar para que se termine la instalación, son necesarios permisos de root. | *Una vez instalada se debe ejecutar para que se termine la instalación, son necesarios permisos de root. | ||
+ | *Comprobamos el correcto funcionamiento | ||
</div> | </div> | ||
+ | <div class="slide"> | ||
+ | *No funciona porque falta de instalar su | ||
+ | [[Archivo:Busybox-error.png|500px]] | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | *Instalamos su: | ||
+ | <source lang="bash"> | ||
+ | juanda@dpto-01:~/Android$ adb push su /system/xbin/su | ||
+ | 3728 KB/s (380532 bytes in 0.099s) | ||
+ | juanda@dpto-01:~/Android$ adb shell chmod 06755 /system/xbin/su | ||
+ | juanda@dpto-01:~/Android$ adb shell | ||
+ | </source> | ||
+ | *Terminamos la instalación del BusyBox y comprobamos si funciona: | ||
+ | </div> | ||
+ | <div class="slide"> | ||
+ | ====Generación de imagen de system==== | ||
+ | *Si queremos que las modificaciones que hemos hecho en el system sean persistentes, debemos generar una imagen de la partición | ||
+ | *Para generar una imagen nos hará falta el ejecutable mkfs.yaffs2. | ||
+ | *En este caso utilizaremos el arm pero también existe para x86: | ||
+ | :-[http://code.google.com/p/android-group-korea/downloads/detail?name=mkfs.yaffs2.x86 mkfs.yaffs2 para x86] | ||
+ | :-[http://code.google.com/p/android-group-korea/downloads/detail?name=mkfs.yaffs2.arm mkfs.yaffs2 para arm] | ||
+ | <source lang="bash"> | ||
+ | juanda@dpto-01:~/Android$ adb push mkfs.yaffs2.arm /data/ | ||
+ | juanda@dpto-01:~/Android$ adb shell | ||
+ | # cd /data | ||
+ | #chmod 777 mkfs.yaffs2.armt+found | ||
+ | </source> | ||
+ | </div> | ||
<div class="slide"> | <div class="slide"> | ||
+ | *Generamos la imagen y nos lo llevamos al pc: | ||
+ | <source lang="bash"> | ||
+ | # ./mkfs.yaffs2.arm /system /data/system.img | ||
+ | mkfs.yaffs2: Android YAFFS2 Tool,Build by PowerGUI | ||
+ | at http://www.openhandsetalliance.org.cn | ||
+ | Building... | ||
+ | Build Ok. | ||
+ | # exit | ||
+ | juanda@dpto-01:~/Android$ adb pull /data/system.img | ||
+ | 4579 KB/s (82621440 bytes in 17.620s) | ||
+ | juanda@dpto-01:~/Android$ | ||
+ | </source> | ||
+ | </div> | ||
+ | |||
+ | <div class="slide"> | ||
+ | |||
====Optimización del emulador==== | ====Optimización del emulador==== | ||
*Por defecto, el emulador va más lento que un desfile de cojos. | *Por defecto, el emulador va más lento que un desfile de cojos. | ||
Línea 177: | Línea 249: | ||
: -[http://developer.android.com/tools/devices/emulator.html Configuración en Eclipse] | : -[http://developer.android.com/tools/devices/emulator.html Configuración en Eclipse] | ||
*Ojo KVM con VmWare y VirtualBox pueden no llevarse del todo bien | *Ojo KVM con VmWare y VirtualBox pueden no llevarse del todo bien | ||
+ | *La aceleración del emulador para Windows se hace directamente desde el SDK Manager. | ||
</div> | </div> | ||
Última revisión de 00:12 23 may 2013