Publica tu how-to

Dinos como hacer lo que sabes hacer, mándanos un email a wdonet@gmail.com y lo publicamos (dos días máximo) o si te interesa unirte al equipo de redactores, también háznoslo saber por correo.

Aceleración del Emulador Android en Linux

Apenas me estoy metiendo a jugar un poco para programar en Android y me topé con el problema de que el emulador va lentísimo en Linux. Cabe notar que el Android SDK Manager tiene un paquete que menciona la aceleración del emulador en Intel, pero explícitamente dice: "NO SOPORTADO EN LINUX". Lo cual no significa que todo esté perdido ;-)

Investigando me topé con este hilo en stackoverflow: http://stackoverflow.com/questions/1554099/slow-android-emulator

Que hace referencia a esta información del sitio de Intel: http://software.intel.com/en-us/blogs/2012/03/12/how-to-start-intel-hardware-assisted-virtualization-hypervisor-on-linux-to-speed-up-intel-android-x86-gingerbread-emulator

En resumen, hay que instalar Qemu (para virtualización en Linux usando KVM), y puesto que el emulador de Android se basa en Qemu, es sólo cuestión de ligarlos.

Hecho eso, se puede crear un AVD que utilice como CPU/ABI un Intel Atom (x86), y que al emular se debe usar el host del GPU. Si emulas vía la consola, debes usar emulator-x86 con las opciones -qemu -m 2047 -enable-kvm

Voilá, tu emulador debería de volar ahora...

Issues con los que me topé:
-Al instalar los módulos del kernel de KVM hay que asegurarse que la virtualización no esté deshabilitada en la BIOS. (Y ya con esto tengo para virtualizar lo que quiera! suelo usar virtualbox, luego jugaré con esto también :D )
- No hay que olvidar que se debe instalar también la imagen Intel X86 en el Android SDK Manager

Hacer Push de un branch local a un repositorio Git remoto

Tan simple como usar git push con el nombre del branch.
Digamos que tenemos un branch plugin que queremos subir al repositorio origin:

git push -u origin plugin

El parámetro -u permite crear un upstream en donde sea que bajemos este branch desde origin, de forma que hacer push/pull sea mucho más sencillo.

Para bajar este branch desde el repositorio, bastaría hacer:

git fetch origin

[Git nos informará que se ha creado un nuevo branch, origin/plugin]

git checkout --track origin/plugin

Con esto cambiamos al nuevo branch, y además le damos seguimiento para hacer actualizaciones de manera rápida y sencilla cuando hagamos push.