Importar proyectos Android desde el SVN o descargados desde otro lado

Como indica el título, me voy a tomar este espacio para explicar cómo es el tema de “revivir” proyectos que tenemos en un servidor y que descargamos con el SVN (Subversion), para los que no saben de qué se trata,  les cuento que es un programa de versionado y que se utiliza para que muchas personas puedan programar sobre el mismo código y saber qué y quién modificó cada cosa para que no haya problemas de inconsistencia en el programa que se está desarrollando, obviamente es una definición rápida y extremadamente ligera. También,  se puede aplicar para proyectos que tienen en sus máquinas y que desean llevarlos a otra, prestarlo a sus amigos o simplemente proyectos que descargaron de algún lado.

Logo de Android

Logo de Android

Bueno, hasta que pude descubrir cómo se hace para abrir proyectos que no fueron creados con el entorno Eclipse (es el IDE que utilizo yo) que estoy utilizando me he vuelto un poco loco. Lamento decir que por algún extraño motivo el plugin de Android para Eclipse no es lo suficientemente bueno (o tal vez usable) como para encargarse de hacer que proyectos externos comiencen a funcionar con tan solo hacer un simple import del mismo.

Aclarado eso, voy a comenzar a explicar.

Conseguir el código

  • Si el código se descarga de Internet o si se los paso alguien o lo consiguieron de algún lado, necesitan ponerlo en una carpeta con el nombre de proyecto que ustedes elijan. Obviamente, cuando uno habla de tener un proyecto, se habla de tener no sólo el código fuente, sino también de la estructura de directorios, imágenes y todas las clases del programa.
  • Si el código se tiene que descargar desde un servidor SVN, se debe realizar de la siguiente manera que detallaré. Dado que uso Eclipse, lo explicaré para dicha IDE y con el SVN instalado. Bueno, deben ir a: Archivo – Import – SVN – Checkout projects from SVN. Una vez allí, seleccionar “Create a new repository location” presionan “siguiente“, seleccionan el proyecto que desean importar y lo colocan en su Workspace. En definitiva, se hace como el checkout de cualquier proyecto.
Imporar desde SVN

Primer paso para importar un proyecto desde SVN

Crear el proyecto Android

Muy bien, ahora ya tenemos el código del proyecto en nuestra computadora, ahora queremos que sea como cualquier proyecto Android que creamos con el Wizard y que podemos ejecutar. Lamentablemente, nos damos cuenta de que no es todo tan mágico.

Tanto si lo importamos desde el SVN o desde otro sitio, veremos que es un proyecto, pero no un proyecto Android. Si bien el ADT nos permite pararnos la raíz de un proyecto (la carpeta que tiene el nombre del proyecto y que contiene todas las carpetas, códigos, imágenes, etcétera) desde el Eclipse, hacer click derecho, ir a la opción Android y seleccionar “convert to Android project”, nos daremos cuenta de que no nos sirve en lo más mínimo y que nos puede traer más problemas de los que intenta solucionar. He perdido invertido como cuatros horas tratando de que ande un proyecto con las herramientas de Android para el Eclipse y aún no lo he logrado.

Es ahora donde entra la magia de este tutorial.

Ya con el código en nuestra PC, debemos crear un proyecto Android con el mismísimo Project Wizard que viene con la SDK de Android. Da igual la información que le demos al Wizard, la terminaremos borrando. En cierta forma,  si ponemos la menor cantidad de información será lo mejor.

Project Wizard de Android

Creación de un proyecto Android con el Project Wizard

¡Felicidades! Ahora ya tenemos un proyecto Android creado, no es el que queremos hacer correr, pero al menos es un Android Project con toda las letras.

Sobrescribir el proyecto deseado con el recién creado

Genial, ahora que ya tenemos el proyecto que queremos utilizar en nuestra máquina y tenemos un proyecto Android nuevo creado, debemos fusionarlos para tener el proyecto deseado funcionando.

Para realizar eso, minimizaremos el Eclipse e iremos a la carpeta del proyecto descargado desde el SVN y que está en nuestro Workspace (o iremos a la carpeta del proyecto que nos pasó nuestro amigo) y copiaremos todo lo que se encuentra allí, es decir:

  • Carpetas (src, res, bin, gen)
  • Android Manifest
  • .project
  • default.properties
  • y toda carpeta o archivo que esté dando vueltas.
Carpetas típicas del proyecto Android

Carpetas y Archivos típicos de un proyecto Android

Una vez copiado todo, nos dirigimos a nuestro Workspace y abrimos la carpeta del proyecto Android que creamos hace unos instantes. Una vez allí, pegamos el proyecto que recién terminamos de copiar, obviamente reemplazamos todos los archivos y carpetas.

Perfecto, ahora nuestro nuevo proyecto Android en verdad es el famoso proyecto que queríamos hacer correr en nuestra computadora.

Limpieza del proyecto

Ahora ya podemos volver a maximizar el Eclipse. Una vez allí refrescamos el proyecto Android que habíamos creado y veremos que aparece todo lo que acabamos de pegar en la carpeta de dicho proyecto.

Es ahora donde debemos borrar todo el vestigio del “proyecto alternativo” que creamos, es decir, tenemos que ir a la carpeta “src” y borrar el paquete que se creo al crear el proyecto alternativo por ejemplo, se llamará “cualquier.cosa.esto” o “unpaquete” dependiendo del nombre que hayamos puesto en el Wizard. El otro archivo que tal vez nos queda por borrar es el que se encuentra en el directorio “res/layout” y que se llama main.xml. Antes de borrarlo ábranlo, y si ven que tiene lineas de código coherentes al proyecto importado no lo borren, ya que la persona que arrancó a desarrollar el proyecto se olvidó de la buena práctica: “Cambiar el nombre del XML que define una Activity“.

Seguir codeando y sincronizando

Muy bien amigos, ya pueden seguir codeando tranquilos su proyecto Android.

Una vez que quieran realizar un commit (subir el código modificado por ustedes al repositorio del proyecto) o cualquier tarea relacionada con SVN deben de haber sincronizado el proyecto con el servidor donde lo tienen subido por lo menos una vez, sí el proyecto que importaron ya se había sincronizado, no deberían configurar nada, pero sí el proyecto nunca se ha subido a un servidor SVN lo deben realizar por primera y única vez. Para realizar esta acción deben hacerlo como con cualquier otro proyecto.

Esperemos que en las próximas versiones se pueda realizar la tarea de importar los proyectos de una mejor manera o por lo menos más usable.

De momento, reportaré de este bug a la gente que está desarrollando el ADT para Eclipse y los mantendré informados sobre el estatus de la situación.

2 Respuestas a “Importar proyectos Android desde el SVN o descargados desde otro lado

  1. Buenas, me ha venido bien tu tutorial, me ha dado ideas…

    1) He hecho un checkout de un proyecto desde un repositorio SVN
    2) He copiado el .project de un proyecto Android en la raiz del proyecto del SVN, cambiando el nombre del proyecto Android por el del proyecto del repositorio

    🙂 espero que sea de ayuda!

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