2010-08-09 9 views
5

Tengo una aplicación heredada y necesito dividirla en un proyecto de biblioteca (código común) y dos proyectos de aplicación (aplicaciones pagas y gratuitas). No uso Eclipse para desarrollo, y tampoco uso compilaciones Ant provistas (generadas) por Android SDK (hay varias razones para eso: estructura de directorio de proyecto diferente, pruebas unitarias integradas en la compilación, integración con CruiseControl, compilaciones automáticas numeración, etc.), pero use nuestros archivos de compilación personalizados.Android biblioteca proyectos personalizados compilaciones

Necesito modificar mis compilaciones Ant para que construyan mis proyectos de aplicaciones que remiten a mi proyecto de biblioteca. Analicé la aplicación de muestra y las compilaciones Ant enviadas con SDK, pero no entendí cómo se hace. Vi que el proyecto de biblioteca contiene el directorio "libs" y el archivo "default.properties" con la propiedad "android.library" establecida en "true". Vi que el proyecto de aplicaciones contiene el archivo "default.properties" con la propiedad "android.library.reference.X" establecida en el valor del directorio del proyecto de la biblioteca. Pero no encontré ninguna referencia a estas propiedades en las compilaciones Ant (archivo de compilación Ant del proyecto y compilaciones Ant incluidas con SDK). Simplemente colocar estos archivos en los directorios de proyecto de la aplicación/biblioteca no ayuda, es decir, las herramientas SDK no los interpretan.

Supongo que esto es realizado por com.android.ant.SetupTask, pero me gustaría saber cómo se realiza. Mi compilación es un conjunto de objetivos que llaman (usando exec) herramientas Android SDK: appt, dx, apkbuilder, etc. Entonces, me gustaría saber qué parámetros de la línea de comando necesito usar para hacer, digamos, una herramienta para fusionar recursos.

Gracias de antemano.

Respuesta

2

Hace poco escribí el script de compilación ant para mi producto de Android que hace uso de otro android framework como biblioteca. El truco que utilicé fue copiar src, recursos y activos del proyecto de la biblioteca en el proyecto principal y luego usar la tarea ant android para construir el paquete apk. El truco funciona perfectamente para mí.

Avíseme si aún necesita ayuda.

+0

Necesito modificar un archivo de recursos (xml) y compilar, ¿pueden hacer esto en un ciclo de salto? dijiste que escribiste un script de compilación, ¿puede Gradle construir el script hacer esto? – aelam

1

Integrar unidad: [ruta de acceso a sdk de Android] \ tools \ ant \ ant_rules_r3.xml a su build.xml. Debe encargarse de la copia de los archivos de la biblioteca y generar la compilación correctamente.

+0

¿Qué es ant_rules_r3? – gregm

+0

No está allí en el SDK de Android 3.0. –

Cuestiones relacionadas