La columna 80

El blog técnico-personal de Ángel J. Vico… en español

Cómo sobrevivir a la actualización del entorno de desarrollo Android

Posted by Ángel J. Vico en 8 de marzo de 2011

En el post anterior vimos cómo se instalaban las herramientas necesarias para crear nuestro entorno de desarrollo de aplicaciones Android. Lo malo es que Google no para de sacar nuevas versiones del sistema operativo. Y cada vez que lo hace actualiza también el SDK, por lo que nuestro entorno se quedará anticuado en poco tiempo.

Afortunadamente, nuestro entorno es actualizable y no va ser necesario repetir todo el arduo proceso de instalarlo desde cero, a menos que las cosas vayan realmente mal. Y, hablando de problemas, por experiencia puedo asegurar que es posible que algunas cosas fallen durante el proceso de actualización. De hecho, los puntos donde pueden producirse errores son demasiados para incluir todas las alternativas en la descripción del proceso de actualización. Así que este post tendrá dos partes: primero describiré el proceso de actualización sin errores (suponiendo que existiera) y luego daré posibles soluciones a algunos problemas que me he encontrado en mis propias actualizaciones.

Antes de empezar tengo dos noticias, una buena y una mala: la buena es que el proceso de actualización es mucho más sencillo y automático que el de instalación desde cero; la mala es que la actualización es un proceso más largo (aún más) que la instalación. Así que ármate de provisiones y paciencia, que empezamos…

Proceso de actualización

Todos las piezas de software que instalamos en el post anterior son actualizables, aunque aquí nos centraremos en las específicas de Android. El JDK y Eclipse tienen su propia forma de actualizarse. Si instalamos el JDK desde el gestor de paquetes de Ubuntu se actualizará con el resto del sistema operativo cuando salgan nuevas versiones. Por otro lado, para instalar una nueva versión de Eclipse basta con descargarla y descomprimirla en un nuevo directorio. Una vez que esté correctamente configurada y le hayamos agregado todos los espacios de trabajo y proyectos que tengamos, podremos borrar la versión antigua.

En lo que a Android respecta tendremos que actualizar dos cosas: el SDK y el plugin ADT de Eclipse. En principio, el orden en que lo hagamos debería ser indiferente, dado que cada uno reside en su propio repositorio y se actualiza de forma independiente. Sin embargo, el ADT necesita el SDK para funcionar, por lo que si lo actualizamos antes, es posible que no funcione hasta que esté actualizado el resto. Eso no significa que esté mal actualizado, pero si podría impedirnos actualizar el SDK desde dentro de Eclipse. Así que, para ahorrarnos problemas, actualizaremos primero el SDK.

Actualización del SDK

Aunque este proceso se puede llevar a cabo desde dentro de Eclipse, dado que aún no hemos actualizado el ADT, dará menos problemas si lo hacemos desde la línea de comandos:

  1. Si estuviera abierto Eclipse, es mejor cerrarlo.
  2. Abrimos un terminal y nos situamos en el directorio tools que se encuentra dentro del directorio donde está instalado el SDK de Android.
  3. Ejecutamos el programa android (seguramente tendremos que poner ./android).
    Android - Android SDK and AVD Manager
  4. Seleccionamos la opción Available Packages en la lista de la izquierda.
    Android - Available Packages
  5. Desplegamos, si es necesario, la entrada del repositorio que aparece en el panel principal y esperamos a que obtenga las actualizaciones disponibles (si las hay). Si aparece una entrada Third party Add-ons, la desplegamos también para ver qué herramientas de terceros tienen actualizaciones sin instalar.
    Android - Available Packages - Desplegado
  6. Seleccionamos todas las actualizaciones y pulsamos Install Selected.
  7. Se muestra la habitual ventana de licencias. Lo más rápido es seleccionar la opción Accept All y pulsar el botón Install.
    Android - Licencias
  8. Se inicia el proceso de descarga e instalación del SDK.
    Android - Actualizando
  9. Si nos pide reiniciar el ADB, habrá que escoger Yes.
    Android - Restart ADB
  10. Cuando la instalación termine es muy posible que se muestre otra ventana que sugiere cerrar y volver a abrir el Android SDK and AVD Manager, para ver si aparecen más actualizaciones. En ese caso, pulsamos OK.
    Android - Reiniciar Manager
  11. Pulsamos Close para cerrar la ventana Installing Archives, cerramos la aplicación y la volvemos a ejecutar, repitiendo el proceso.
    Nota: es posible que tengamos que salir del directorio tools y volver a entrar para acceder al nuevo ejecutable.
  12. Instalamos los componentes nuevos que aparezcan de la misma forma.

Si hemos actualizado desde una versión anterior a la 2.3, será necesario añadir el nuevo directorio platform-tools al PATH (dejando también el directorio tools).

Actualización del plugin ADT

  1. Abrimos Eclipse.
  2. Vamos a empezar viendo si hay nuevas versiones del ADT: seleccionamos Help | Check for Updates. Esto hará que busque actualizaciones para todos los plugins instalados, incluyendo el ADT (lo que le puede llevar varios minutos).
    Eclipse - Buscando cambios
  3. Al terminar se nos muestra una lista con todos los componentes para los que existen nuevas versiones. Seleccionamos todos los relacionados con Android, como Android DDMS o Android Hierarchy Viewer (y todo lo demás que queramos actualizar) y pulsamos Next.
    Eclipse - Available Updates
  4. Se nos muestra una ventana donde podemos obtener detalles de los paquetes que vamos a actualizar. Si el botón Next está activo, lo pulsamos. Puede ocurrir que ya hayamos aceptado las licencias de todos los componentes que se van a actualizar en actualizaciones anteriores. En ese caso, el botón Next no estará habilitado y tendremos que pulsar directamente Finish (y saltar directamente al paso 6, claro).
    Eclipse - Update Details
  5. En la siguiente ventana hay que seleccionar la opción I accept the terms of the license agreements y pulsar Finish.
    Eclipse - Review Licenses
  6. Esto hará que se inicie el proceso de descarga y actualización de los plugins, lo que le llevará, seguramente, bastante más tiempo que la búsqueda de nuevas versiones. Así que, paciencia, y a esperar a que termine.
    Eclipse - Actualizando plugins
  7. Es posible que se muestre alguna advertencia indicando que se está instalando algún software sin firmar (mal por parte de Google). Tendremos que pulsar OK para que no se quede nada por instalar.
    Eclipse - Security Warning
  8. Cuando termine el proceso, nos aparecerá una ventana recomendándonos reiniciar Eclipse, recomendación que aceptaremos pulsando Yes.
    Eclipse - Restart
  9. Cuando Eclipse reinicie, tendremos el ADT actualizado.

Si todo ha ido bien: ¡enhorabuena! Tu entorno de desarrollo está perfectamente actualizado. Y si no…

Cuando algo sale mal (o sea, casi siempre)

Todos sabemos que estás leyendo este apartado porque eres una persona educada que se lee los post siempre al completo y no porque hayas tenido algún problema. Así que lee, lee las cosas que le pueden salir mal a otros…

El plugin ADT no funciona tras la actualización

El primer síntoma es que no hay forma de ejecutar el Android SDK and AVD Manager desde el menú Window, pero también se puede observar que no aparecen las opciones de Android en las preferencias de Eclipse. Si este es el caso, una posible forma de solucionarlo es desinstalar el plugin y volver a instalarlo. La instalación del plugin ya la expliqué en el post anterior. La desinstalación es bastante más sencilla:

  1. En Eclipse, seleccionamos Help | About Eclipse.
    About Eclipse
  2. Pulsamos el botón Installation Details.
    Eclipse Installation Details
  3. En la pestaña Installed Software hay que seleccionar todos los componentes de Android y luego pulsar Uninstall.
    Eclipse - Calculating Requirements
  4. Cuando termine de calcular las dependencias, pulsamos el botón Finish para que se desinstale el ADT.
    Eclipse - Uninstall Details
  5. Reiniciamos cuando lo pida y listos para instalar de nuevo desde cero.

Reinstalar el plugin ADT no arregla nada

Es posible que, tras actualizar a la versión 2.3 (o posterior) el plugin de Eclipse no funcione e incluso que no se muestre ninguna herramienta del menú del ADT dentro del entorno de desarrollo. Si estamos seguros de que hemos actualizado correctamente todos los componentes a la última versión y de que cumplimos los requisitos de Google en cuanto a versión de Java y bibliotecas, puede que el problema sea de permisos.

A diferencia de la versión 2.2, la 2.3 requiere hacer algunos cambios en archivos del propio Eclipse, para lo que necesita poder escribir en el directorio de instalación. La forma más sencilla de asegurar que podrá hacer los cambios es modificar el propietario de los archivos de forma que pertenezcan al usuario con el que trabajaremos (como ya expliqué durante la primera instalación), lo que haremos con el siguiente comando (asumiendo que hemos instalado Eclipse en /usr/local/eclipse y que el número de nuestro usuario y su grupo es 1000):

sudo chown -R 1000:1000 /usr/local/eclipse

Después será necesario desinstalar el ADT (suponiendo que siga apareciendo como instalado) e instalarlo de nuevo.

Versiones inadecuadas

Al desplegar el repositorio del SDK de Android puede aparecer un mensaje de error indicando que la versión actual del propio Android SDK and AVD Manager no es la adecuada para actualizar:

Android - Available Packages - Error repositorioEsto significa que vamos a tener que repetir el proceso de actualización del SDK una vez más de lo habitual. Es decir, seleccionamos la entrada que se muestra (la del error) y actualizamos. Después, cuando ejecutemos de nuevo la aplicación se mostrarán todas las actualizaciones reales, como se describe en el proceso normal.

Problema de configuración

Si actualizamos primero el ADT, podría ocurrir que al tratar de abrir el Android SDK and AVD Manager desde Eclipse se muestre un error como este:

Eclipse - Problema de configuraciónA pesar de lo que dice el mensaje, la configuración no tiene ningún problema (al menos, no lo tenía cuando me pasó a mi). En ese caso, tratar de abrir de nuevo el Android SDK and AVD Manager puede funcionar. Y si no lo hace, siempre podemos ejecutarlo desde la línea de comandos, como hemos visto antes.

Recuerda que en esta página dispones de enlaces a todos los artículos sobre Android que he publicado en La columna 80.

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s