Intel Learning Series para desarrolladores para Android*, n.º 5: Cómo instalar el SDK de Android* para la arquitectura Intel®

1. Sistemas operativos compatibles

Se admiten los siguientes sistemas operativos:

  • Windows XP* (32 bits), Vista* (32 o 64 bits) o Windows 7* (32 o 64 bits)
  • Mac OSX* (32 o 64 bits)
  • Linux* (Ubuntu, Fedora); GNU C Library (glibc) 2.7 o superior.
  • En Linux Ubuntu, se requiere versión 8.04 o superior.
  • En Fedora, las versiones de destino son la F-12 y superiores.
  • Las distribuciones de 64 bits deben ser capaces de ejecutar aplicaciones de 32 bits.

2. Requisitos de hardware

El SDK de Android* requiere espacio en disco para todos los componentes que elija instalar. Se necesita espacio adicional en disco para ejecutar el emulador, por ejemplo, con el fin de crear tarjetas SD para los dispositivos virtuales de Android* (AVD).

3. Instalación del JDK

El SDK requiere, como mínimo, Java* JDK 5 o JDK 6. También admite JDK 7. No es suficiente con el JRE (Java Runtime Environment) solamente. Si su sistema no tiene instalado JDK 5, 6 o 7, puede descargar JDK SE 7 de http://www.oracle.com/technetwork/java/javase/downloads/index.html e instalarlo en su equipo.

4. Instalación de Eclipse*

Se recomienda firmemente instalar el SDK con Eclipse* para desarrollar aplicaciones Android. Vaya a http://www.eclipse.org/downloads/ para descargar o actualizar Eclipse. Sugerimos usar las siguientes configuraciones de Eclipse si se desea desarrollar aplicaciones Android para la arquitectura Intel:

  • Eclipse 3.5 (Galileo) o superior
  • Eclipse Classic (versiones 3.5.1 y superiores)
  • Android Development Tools Plugin (recomendado)

5. Instalación de Apache Ant (opcional)

Se recomienda firmemente usar un entorno de desarrollo integrado, como Eclipse, para desarrollar aplicaciones Android. Pero, como alternativa, se puede usar Apache Ant para trabajar con el SDK a fin de crear aplicaciones Android. Visite http://ant.apache.org/ para descargar las distribuciones binarias e instalar Ant. Si se quiere trabajar con el SDK, se necesita Ant 1.8 o superior.

6. Descarga del SDK Starter Package y cómo agregar los componentes del SDK

El SDK Starter Package se puede descargar de la página http://developer.android.com/sdk/index.html. Este paquete no incluye los componentes específicos de la plataforma necesarios para desarrollar aplicaciones Android. Sólo proporciona las herramientas básicas del SDK. Usted debe descargar el resto de los componentes de la plataforma
Después de instalar el SDK Starter Package, ejecute Android SDK and AVD Manager.

  • En Windows*, seleccione Inicio > Todos los programas > Android SDK Tools > SDK Manager
  • En Linux, ejecute asdk/tools/android, donde asdk representa el nombre de su directorio de Android SDK

En el panel izquierdo del cuadro de diálogo Android* SDK and AVD Manager, seleccione Available packages; en el panel derecho, haga clic y expanda el nodo Android Repository, y seleccione los paquetes que desee instalar, como se muestra en la Figura 5.1.
Para tener en cuenta: es posible que se muestre un mensaje de error si intenta descargar desde detrás de un firewall. Si esto ocurre, vuelva a intentarlo desde fuera del firewall.
Si sigue viendo el mensaje de error, cierre el SDK Manager, haga clic con el botón derecho en el menú Inicio y seleccione Ejecutar como administrador. Estos dos pasos resuelven la mayoría de los mensajes de error que puedan aparecer mientras intenta realizar la descarga.

7. Cómo configurar Eclipse para que funcione con el SDK

Si usa el entorno de desarrollo integrado (IDE) de Eclipse* para desarrollar software, recomendamos firmemente que instale y configure el complemento Android Development Tool (ADT) Plugin.

7.1 Instalación del ADT Plugin para Eclipse

Los siguientes son los pasos de instalación del ADT Plugin para Eclipse:


Figura 5.2 Cuadro de diálogo Add Repository

  1. Inicie Eclipse, seleccione Help > Install New Software en el cuadro de diálogo Install, y haga clic en el botón Add.
  2. En el cuadro de diálogo Add Repository, escriba ADT Plugin en el campo Name e ingrese https://dl-ssl.google.com/android/eclipse/ en el campo Location, como se muestra en la Figura 5.2, y luego haga clic en OK.
  3. Regresará al cuadro de diálogo Install, se conectará con el servidor de repositorio de Google y mostrará los paquetes de ADT disponibles, como se muestra en la Figura 5.3.


    Figura 5.3 Lista de paquetes de ADT

  4. Seleccione Next, acepte el acuerdo de licencia y seleccione Finish.
  5. Reinicie Eclipse.

7.2 Configuración del ADT Plugin

Para configurar el ADT Plugin, siga estos pasos:

  1. Inicie Eclipse y seleccione Windows > Preferences
  2. En el panel izquierdo del cuadro de diálogo Preferences, seleccione Android. En el panel derecho, use el botón Browse para navegar al directorio en el que instaló Android* SDK y haga clic en Apply. Aparecerá una lista de destinos del SDK que usted ha instalado. En este momento, haga clic en OK.


Figura 5.4 Cuadro de diálogo Preferences

Después de seguir los pasos descritos más arriba, tendrá a disposición las herramientas necesarias para iniciar el desarrollo de Android para la arquitectura Intel. Ahora tiene todo lo que necesita para escribir su primera aplicación, pero quizá sería mejor instalar también el Emulador de Arquitectura Intel® (x86) en este momento, para poder probar la aplicación ni bien esté lista. En la siguiente sección se mostrará la instalación del Emulador de Arquitectura Intel® (x86). Analizaremos la creación de una imagen de emulador con recursos AOSP y la emulación de las imágenes de sistema resultantes para x86. También se verán algunas nuevas prestaciones incluidas en Gingerbread* y Ice Cream Sandwich*.

Información general sobre la emulación de Android Virtual Device

Android funciona en dispositivos con diversos factores de forma y diferentes tamaños de pantalla, funcionalidades de hardware y prestaciones. Un dispositivo característico tiene muchas funcionalidades de software (API de Android) y hardware, tales como sensores, GPS, cámara, tarjeta SD y pantalla multitáctil de dimensiones específicas.

El emulador es bastante flexible y es posible configurarlo con diferentes opciones de configuración de software y hardware. Los desarrolladores pueden configurar el emulador con la configuración denominada Dispositivo Virtual de Android (AVD). Se podría pensar en el AVD como un conjunto de archivos de configuración que especifican diferentes funcionalidades de software de Android y hardware del dispositivo. El emulador de Android usa estas configuraciones de AVD para configurar e iniciar en el emulador la imagen virtual de Android apropiada.

Como se documenta en el sitio web de Android (http://developer.android.com/guide/developing/devices/index.html), una configuración de AVD típica tiene:

  • Un perfil de hardware que especifica todas las funcionalidades del dispositivo (ejemplos: cámara, sensores).
  • Una imagen del Sistema, que el emulador usará para este AVD (nivel de API de destino, tales como Gingerbread o Honeycomb).
  • Una imagen de Datos que actúa como espacio de almacenamiento dedicado para los datos del usuario, las configuraciones y la tarjeta SD.
  • Otras opciones, incluidas la piel del emulador, las dimensiones de la pantalla y el tamaño de la tarjeta SD.

Se alienta a los desarrolladores a apuntar a diferentes niveles de API, tamaños de pantalla y funcionalidades de hardware (como cámara, sensores y pantalla multitáctil). Es posible usar la configuración de AVD para personalizar el emulador según sea necesario. Los desarrolladores pueden crear tantos AVD como lo deseen, con cada uno apuntando a un dispositivo Android basado en arquitectura Intel diferente: por ejemplo, un desarrollador puede crear un AVD de Gingerbread basado en arquitectura Intel con una piel integrada, como WVGA800, o una personalizada para la cual se especificaría en forma manual la resolución de pantalla que se utilizará.

El SDK de Android ha admitido la emulación de Android basado en arquitectura Intel desde la versión r12. El SDK integra esta compatibilidad en todas las herramientas para desarrolladores, incluido el complemento ADT. La Figura 5.6 es una captura de pantalla de muestra del emulador de Android para x86 ejecutando Gingerbread. El número de modelo está resaltado y muestra “Full Android on x86 Emulator”.


Figura 5.5 Emulador de Android

En la siguiente documentación de Android, encontrará información detallada sobre cómo usar el emulador: http://developer.android.com/guide/developing/devices/emulator.html.

9. ¿Qué emulador debería usar?

Al momento de escribir este artículo, hay dos imágenes de emulador disponibles para la arquitectura Intel (x86): una para Android 2.3.7 (Gingerbread) y una para Android 4.0.4 (Ice Cream Sandwich).

Si bien tiene muchas ventajas desarrollar para la versión de sistema operativo Android más reciente, muchos desarrolladores prefieren hacerlo para Android 2.x, ya que la mayoría de los teléfonos que están en uso actualmente todavía no tienen Android 4.x o superior (en los EE. UU., sólo 1 de cada 5 teléfonos Android tiene ICS o superior al momento de escribir este artículo). Este porcentaje cambiará con el tiempo, así que se sugiere firmemente tener presentes las condiciones del mercado al momento de determinar el sistema operativo de destino.

El siguiente artículo puede ser útil para obtener más información del sistema operativo específica de Gingerbread: http://blogs.computerworld.com/17479/android_gingerbread_faq.

Para Ice Cream Sandwich, se recomienda este otro: http://www.computerworld.com/s/article/9230152/Android_4.0_The_ultimate_guide_plus_cheat_sheet_.

10. Razones para usar el emulador

En primer lugar, es gratis. El SDK de Android y sus complementos de terceros no cuestan nada y posibilitan a los desarrolladores emular dispositivos que no poseen y a los que quizá no tengan acceso. Esto es importante porque no todos los teléfonos reciben las versiones del sistema operativo Android mediante actualizaciones por aire (Over The Air, OTA) y podría no ser factible para los desarrolladores comprar todos los dispositivos que se espera que admitan sus paquetes de software.

Desarrollo y prueba. Los desarrolladores pueden crear con el SDK varias configuraciones de dispositivo virtual de Android* (AVD) para fines de desarrollo y prueba. Cada AVD puede tener diferentes dimensiones de pantalla, tamaños de tarjeta SD o incluso versiones del SDK de Android (lo cual es útil para probar la compatibilidad con versiones anteriores de Android).

Jugar con una nueva versión. El emulador permite a los desarrolladores entretenerse con nuevas versiones de Android y aprender más acerca de ellas.

Veamos ahora paso a paso cómo crear y ejecutar una imagen de emulador en una compilación x86. Por una cuestión de simplicidad, en esta sección se hará referencia al emulador de Gingerbread, aunque la mayor parte del contenido se aplica también al emulador de Ice Cream Sandwich.

11 Creación de una imagen de emulador

El primer paso será seguir las instrucciones de configuración que se indican aquí: http://source.android.com/source/initializing.html.

Google* ha puesto a disponibilidad fuentes de Gingerbread en un nuevo lugar. La documentación de http://source.android.com/source/downloading.html se ha actualizado para reflejar estos cambios.

Actualmente, las instrucciones de inicialización de repositorio predeterminadas son sólo para obtener la rama maestra o una rama específica, como cuando se usa el comando android-2.3.7_r1. Las instrucciones de repositorio y rama para crear imágenes de emulador x86 de Gingerbread no se han dado.

Utilice la rama con la etiqueta gingerbread para descargar la rama de origen de Android más reciente, como se muestra en la Figura 5.6. Esta rama tiene los archivos y los módulos necesarios para crear imágenes del emulador x86 del SDK.


Figura 5.6 Rama de Gingerbread

Inicialice la compilación env, como se muestra en la Figura 5.7:


Figura 5.7 Inicialización

Configure con el comando lunch la compilación para crear el SDK x86, como se muestra en la Figura 5.8. Esto creará las imágenes de emulador para x86, junto con otros módulos del SDK.


Figura 5.8 Comando lunch

Por último, utilice el comando make sdk para iniciar la compilación, como se muestra en la Figura 5.9.


Figura 5.9 Comando make sdk

Además, se puede configurar la cantidad específica de trabajos paralelos para make con el parámetro –j, para acelerar el proceso de compilación (se recomienda usar un valor que sea mayor o igual a la cantidad total de CPU del sistema.)

Se crearán tres imágenes: QEMU Android kernel image:t system.img (Android), userdata.img y ramdisk.img.

Como se muestra en la Figura 5.10, cuando la compilación se complete, las imágenes quedarán en la carpeta de compilación $ANDROID_BUILD_TOP/out/target/product/generic_x86/


Figura 5.10 Ubicación de las imágenes

La imagen del kernel de Android para QEMU (kernel-qemu) viene con Android Sources. Está ubicado en la carpeta prebuilt ($ANDROID_BUILD_TOP/prebuilt/android-x86/kernel), como se observa en la Figura 5.11.


Figura 5.11 Imagen del kernel

Ahora ya tiene todos los archivos necesarios para ejecutar una imagen x86 de Android Gingerbread en el emulador x86 de Android. Habrá que configurar los archivos de imagen con el SDK, proceso que se tratará en la próxima sección.

12. Cómo configurar el SDK para usar imágenes del emulador x86

Las herramientas del SDK de Android (android, el administrador de AVD) esperan que las imágenes del emulador x86 se encuentren en las carpetas predeterminadas del SDK para imágenes de plataformas /platforms/android-10/images.

En las capturas de pantalla de las figuras siguientes se da por supuesto que la variable de entorno $ANDROID_SDK_TOP está establecida según la ubicación de la carpeta de instalación del SDK de Android.


Figura 5.12 Ubicación de las imágenes

Como se ve en la Figura 5.12, Android-10 viene en forma predeterminada con imágenes de emulador para ARM. Para configurar las imágenes del emulador x86 en el SDK, es necesario crear una carpeta x86 y copiar a la carpeta las imágenes creadas. También puede mover las imágenes de ARM a su propia carpeta, como se muestra en la Figura 5.13.


Figura 5.13 Carpeta ARM

En la Figura 5.14 se muestran instrucciones para la carpeta x86.


Figura 5.14 Instrucciones para x86

En la Figura 5.15, se muestra la última carpeta de imágenes de la plataforma Android-10.


Figura 5.15 Última carpeta de imágenes

Antes de usar imágenes de arquitectura Intel de Gingerbread con el emulador x86, debe crear una configuración de AVD que especifique las personalizaciones necesarias de software y hardware. Más abajo se puede encontrar información detallada sobre los AVD; también en el artículo “Android* Virtual Device Emulation for Intel® Architecture” (“Emulación de dispositivo virtual de Android para Arquitectura Intel®”) de la Zona de Desarrolladores Intel.

Ya aquí el emulador y la imagen x86 están listos para usarse. Tenga en cuenta que el rendimiento del emulador tendrá mejoras drásticas si usa el Supervisor de Ejecución Acelerada por Hardware Intel (Intel HAXM) junto con esta imagen de sistema. (Intel HAXM requiere un procesador Intel compatible con Intel VT-x. Para obtener más información acerca de Intel HAXM, visite http://int-software.intel.com/en-us/android).

Ahora es momento de usar el emulador x86 de Gingerbread para emular una imagen x86.

Abra la herramienta de Android o use la herramienta de creación de AVD directamente desde Eclipse.

La Figura 5.16 y la Figura 5.17 muestran la creación de un AVD para Gingerbread con una CPU Intel® Atom™ (x86).


Figura 5.16 Creación de un nuevo AVD


Figura 5.17 Cuadro de diálogo de creación exitosa

Pruebe el AVD Gingerbread x86; para ello, seleccione el AVD y haga clic en Start, como se muestra en la Figura 5.18.


Figura 5.18 Opciones de inicio

En la Figura 5.19 se muestra la pantalla principal de Gingerbread para Intel Atom (x86) en el emulador x86.


Figura 5.19 Pantalla principal

En la Figura 5.20 se muestra la vista de las configuraciones desde About Phone (Acerca del teléfono).


Figura 5.20 Vista desde “About phone”

Se recomienda que use el emulador x86 con aceleración de hardware de Intel® VT. Para hacer esto en Linux, se puede usar la KVM de Linux. Ubuntu tiene más documentación sobre cómo configurarla y usarla: https://help.ubuntu.com/community/KVM.


Figura 5.21 KVM

Con la KVM, que se muestra en la Figura 5.21, (-enable-kvm) es probable que los usuarios noten mejoras de rendimiento durante el inicio de Android y que el emulador responde con mayor rapidez.

13. Ejemplo de prestación de Gingerbread: estadísticas de uso de batería

En About Phone hay una sección de uso de batería, Battery Use. Las estadísticas de utilización de la batería varían según el dispositivo de emulación y la versión. En el caso de que el desarrollador pueda ingresar en el dispositivo emulado mediante telnet, hay algunos comandos simples que se pueden usar para imitar el consumo de batería. Mire en esta página un ejemplo: http://android-er.blogspot.com/2010/09/how-to-set-battery-status-of-android.html.

14. Ejemplo de prestación de Gingerbread: administrador de tareas

En Settings > Applications > Running Services, hay una pestaña Running que muestra los procesos y servicios en ejecución, como se muestra en la Figura 5.22.


Figura 5.22 El administrador de tareas

15. Ejemplo de prestación de Gingerbread: copiar y pegar texto

Si se abre la aplicación de mensajería y se elige enviar un nuevo mensaje, el usuario puede escribir un mensaje como si enviara un SMS. Si se hace clic en el campo de texto y se escribe en el teclado del host, los caracteres aparecen con fluidez en la pantalla de Android. Después de escribir “Hello 2.3.5!”, la pantalla se ve como en la Figura 5.23.


Figura 5.23 Diversión con mensajes de texto

Si se mueve el mouse al campo de texto donde está el mensaje “Hello 2.3.5!” y se mantiene apretado el botón del mouse (o del panel táctil) durante unos 2 segundos, aparece un menú para editar texto: Edit Text. Al elegir Select all y luego repetir la operación con el mouse, el usuario ve la opción de cortar el texto. Después de cortar el texto, si se vuelve a repetir la operación con el mouse, el usuario puede pegar el texto en su lugar original.

16. Emulación de Ice Cream Sandwich

La imagen de sistema del emulador x86 de Android 4.0.4 permite ejecutar una emulación de Android Ice Cream Sandwich en la máquina de desarrollo. Además del SDK de Android, las aplicaciones para Android se pueden probar en un dispositivo virtual de Android basado en la arquitectura Intel (x86).

Para instalar la imagen de sistema del emulador, una opción es usar el Android SDK Manager (método recomendado), pero también se puede descargar el archivo zip binario y copiar el directorio incluido al directorio de complementos de su instalación del SDK de Android (este último método no admite actualizaciones automáticas del complemento).

17. Guía de instalación

La siguiente sección es una guía para instalar imágenes de ICS.

17.1 Prerrequisitos

La imagen de emulador x86 para Android necesita que esté instalado el SDK de Android. Para obtener instrucciones de instalación y configuración del SDK de Android, consulte el sitio web para desarrolladores de Android (http://developer.android.com/sdk/).

Opcional: la imagen de emulador x86 para Android se puede acelerar con el Supervisor de Ejecución Acelerada por Hardware Intel® (Intel HAXM). Encontrará más información en el capítulo sobre Intel HAXM.

17.2 Cómo hacer descargas por medio del Android SDK Manager

  1. Inicie el Android SDK Manager.
  2. Bajo Android 4.0.4 (puede que algunas capturas de pantalla hagan referencia a versiones anteriores), seleccione la imagen de sistema Intel x86 Atom System Image, como se muestra en la Figura 5.24.

    Figura 5.24 Imagen de sistema Intel x86 Atom
  3. Una vez instalada, haga clic en el botón de instalación Install Package.
  4. Lea el acuerdo de licencia de Intel Corporation. Si acepta los términos, seleccione Accept y haga clic en Install.
  5. El SDK Manager descargará y extraerá la imagen de sistema al lugar apropiado dentro del directorio del SDK de Android.

17.3 Uso de la imagen de sistema

  1. Inicie el Android AVD Manager y cree un nuevo AVD (establezca el destino Target como Android 4.0.X, y CPU/ABI como Intel Atom (x86), tal cual se muestra en la Figura 5.25).

    Figura 5.25 Configuración del destino
     
    Nota: si no está disponible la opción Intel Atom (x86) para CPU/ABI, asegúrese de que la imagen de sistema se instale correctamente.
  2. Haga clic en el botón Create AVD.
  3. El AVD ya se ha creado y está listo para usarse, como se muestra en la Figura 5.26.

    Figura 5.26 Imagen lista

17.4 Descarga manual

  1. Vaya a http://www.intel.com/software/android
  2. Descargue la imagen de sistema Intel x86 Atom System Image (bajo la pestaña Tools & Downloads).
  3. Vaya al directorio que contiene el SDK de Android, como se muestra en la Figura 5.27.

    Figura 5.27 Directorio del SDK de Android
  4. El directorio system-images contiene imágenes de sistema de Android, separadas por arquitectura, como se muestra en la Figura 5.28.

    Figura 5.28 Imágenes separadas
  5. Expanda android-15 (este directorio contiene imágenes de sistema de nivel 15 de API), como se ve en la Figura 5.29.

    Figura 5.29 Nivel 15 de API
  6. Extraiga el directorio x86, contenido en el archivo de imagen de sistema descargado, directamente en el directorio android-15.
  7. La estructura del directorio debería verse ahora como en la Figura 5.30.

    Figura 5.30 Estructura esperada
  8. La imagen del sistema ya está instalada y lista para usar.

17.5 Aceleración de la CPU

El rendimiento de la imagen Intel Atom x86 para Android Ice Cream Sandwich se puede mejorar mediante virtualización basada en hardware con tecnología Intel.

Si su computadora tiene un procesador Intel compatible con VT-x, se recomienda usar el Supervisor de Ejecución Acelerada por Hardware Intel (Intel HAXM) junto con esta imagen de sistema. Para obtener más información acerca de Intel HAXM, visite http://int-software.intel.com/en-us/android.

Nota: Intel HAXM es sólo para los sistemas operativos Windows y OS X. En el caso de hosts Linux, se puede usar la máquina virtual basada en kernel (KVM) para acelerar la emulación. En la siguiente guía encontrará información sobre la instalación y configuración de KVM en Ubuntu: https://help.ubuntu.com/community/KVM/Installation.

17.6 Aceleración de la GPU

La imagen Intel Atom x86 para Android Ice Cream Sandwich puede aprovechar las prestaciones de GPU de hardware para mejorar el rendimiento de juegos, de programas que hagan un uso intensivo de gráficos y de elementos de la interfaz de usuario.

Nota: la funcionalidad y el rendimiento de la aceleración de la GPU depende en gran medida de la tarjeta gráfica y los controladores de gráficos de su equipo.

Para usar la aceleración de GPU de hardware, siga estos pasos:

  1. Abra el Android SDK Manager.
  2. Seleccione el AVD y haga clic en Edit.
  3. Aparecerá la ventana del editor de AVD. En la sección Hardware, haga clic en New, como se muestra en la Figura 5.31.

    Figure 5.31 Sección “Hardware”
  4. En la lista desplegable Property, seleccione GPU Emulation, como se observa en la Figura 5.32.

    Figura 5.32 Emulación de GPU
  5. Haga clic en OK.
  6. Después de haber agregado la propiedad GPU emulation, cambie el valor (Value) a yes, como en la Figura 5.33.

    Figura 5.33 Valor cambiado a “yes”
  7. Haga clic en Edit AVD para guardar el AVD.
  8. Después de que se haya modificado el AVD, aparecerá un cuadro de diálogo con la confirmación de la configuración del AVD. Este cuadro se muestra en la Figura 5.34.

    Figura 5.34 Cuadro de diálogo de confirmación

En el cuadro de diálogo de confirmación, la línea hw.gpu.enabled=yes indica que la aceleración de la GPU está habilitada para ese AVD en particular.

Nota: la aceleración de la GPU se debe habilitar para cada AVD.

Para obter informações mais completas sobre otimizações do compilador, consulte nosso aviso de otimização.