2011-03-24 14 views
12

Necesito ayuda para versionar apropiadamente mi proyecto de Android con Git/Eclipse.
No tengo problemas para configurar esto con un solo proyecto de Android.¿Cómo configuro mis repositorios Git para el desarrollo de Android en Eclipse?

Sin embargo, estoy tratando de encontrar la manera correcta y correcta para configurar esto, si agrego una o más bibliotecas de terceros de Android a mi proyecto principal (por ejemplo, Facebook SDK).

Así que actualmente estoy usando git-submodules de lograr esto, y aquí está mi estructura de directorios:

/project/android-main.git 
    +--- /project/android-main/facebook-sdk 

que añade facebook-sdk como git-submódulo dentro de mi proyecto android-main.
En el proyecto android-main del espacio de trabajo de Eclipse, veo la subcarpeta 'facebook-sdk'.

Entonces aquí viene la kludge:
Tengo que importar 'Proyecto existente' de /project/android-main/facebook-sdk como un nuevo proyecto, de modo que pueda hacer referencia a este proyecto como una biblioteca de mi proyecto android-main.

Al final, Eclipse espacio de trabajo tiene tres referencias a 'facebook-sdk':

  1. El proyecto en sí en el espacio de trabajo.
  2. porque lo agregué como git-submodule, apareció como una carpeta en el proyecto android-main.
  3. Otra carpeta 'facebook_sdk_src' es creada por el complemento Android SDK en el proyecto android-main.

Esto parece llenar el espacio de trabajo y el proyecto principal, si agrego más submódulos.
¿Lo estoy haciendo bien?
¿Existe alguna forma mejor de usar las bibliotecas de Android como submódulo en Eclipse?

+0

Su solución actual tiene alguna semejanza con http://stackoverflow.com/questions/5091946/android-build-works-in-eclipse-but-not-with-ant-already-added – VonC

+0

Son 1 y 2 cajas de pago diferentes (¿modificar archivos en uno no afecta al otro)? Suena como 1 es un clon del control remoto y 2 es un clon del submódulo del local. – idbrii

+0

Si tiene dos cajas, no necesita tener el proyecto en el espacio de trabajo. Puede agregar un submódulo directamente desde un control remoto. – idbrii

Respuesta

2

Todos mis proyectos de Android están en el mismo nivel. Eclipse muestra cada proyecto dos veces: en el espacio de trabajo (espacio de trabajo/biblioteca) y dentro de los proyectos que hacen referencia a él (workspace/project/library_src).

Puede intentar hacer ambos facebook-sdk y submódulos principales de android para que estén en el mismo nivel. Algo como esto:

/project/ 
    +--- android-main.git 
    +--- android-project/ 
      +--- android-main/ 
      +--- facebook-sdk/ 

Así que cree un repositorio desnudo para su proyecto de Android (android-main.git). Este repositorio no necesita estar en su espacio de trabajo. A continuación, agregue una subcarpeta para su código (android-project) y agregue sus submódulos.

+0

Gracias, resulta que EGit (plugin Eclipse Git) no es compatible con los submódulos demasiado bien, por lo que tengo que buscar otras soluciones. – azgolfer

+0

No recomendaría usar EGit: está medio cocido y presenta muchos problemas, especialmente en un entorno grande. – jjNford

+1

Creo que la otra solución que funciona muy bien es la terminal :) – philipp

Cuestiones relacionadas