2012-02-11 23 views
5

Tengo dos proyectos de Android, una biblioteca compartida y la aplicación. Ahora quiero compilar la aplicación con la dependencia de la biblioteca. En Eclipse, funciona muy bien. Después de eso, lo cargué a través de git en mi repositorio y activé a Jenkins para construir ambos proyectos.Ant build proyecto de Android con dependencia lib

Mi problema es que se produce el error: "sdk/android-sdk-linux/tools/ant/build.xml: 440: ../shared-lib resuelve en una ruta sin archivo project.properties para el proyecto ". Eso está claro, porque en Jenkins los trabajos se almacenan de forma diferente que con Eclipse.

Otro problema es que Eclipse compiló el compartido en ".jar" y Ant lo compiló en "classes.jar" (lleva el nombre en sdk/android-sdk-linux/tools/ant/build.xml).

+0

No me sale la pregunta aquí. también puede incluir el script ant (o extracto de él) y la forma en que lo generó, si lo hubiera. –

+0

Estoy usando el build.xml creado por Android con ** update-project ** y mi _project.properties_ incluye ** android.library.reference.1 = ../shared-lib **. ¿Desea algún otro archivo? – mars3142

Respuesta

1

Lo arreglé con archivos de copia. El primer proyecto construye mi shared-lib.jar. ojects (teléfono y tableta) copie este archivo (shared-lib.jar) allí libs -carpeta y construya correctamente. Pero ahora tengo diferentes projects.properties en el servidor y mi dev-client. Este no está registrado en git.

+0

¿Podría explicar cómo utilizó hormiga o Jenkins para copiar los archivos en el servidor de compilación? Soy un hormiguero completo, así que no tengas miedo de embrutecerlo. :) –

+0

Ver http://stackoverflow.com/questions/9239131/ant-build-android-project-with-dependency-lib/9277001#comment11638044_9239303 Utilicé la tarea de copia en hormiga. – mars3142

4

Las secuencias de comandos Ant deben permitirle incluir los archivos que necesita. En su caso, le sugiero que mueva la referencia al archivo shared-lib a local.properties (este archivo también debe leerse mediante el script ant generado por el proyecto de actualización. Mantenga la ruta adecuada para jenkins en el repositorio y modifique el archivo localmente para el local . construida en el archivo en el repositorio tendrá que tener algo como:

android.library.reference.1=../classes.jar 

EDITAR Por cierto sugerencia del segundo archivo de propiedades es simplemente porque este archivo sirve realmente para almacenar las propiedades específicas de la ubicación

+0

¿Qué puedo hacer para copiar el 'classes.jar' a la carpeta' libs' en mi build.xml en el entorno 'post-build'. Esa sería la forma más inteligente, creo. – mars3142

+1

Hay un comando de copia de ant que puede ver aquí: http://ant.apache.org/manual/Tasks/copy.html. Usted, sin embargo, también puede agregar fácilmente jar adicionales a las rutas de compilación también. No conozco su nivel de conocimiento de la hormiga, pero esto también debería ser relativamente fácil de encontrar en la red. Escriba de nuevo si necesita ayuda en esta dirección. –

+0

Soy completamente nuevo en hormiga :( – mars3142

Cuestiones relacionadas