2012-01-13 7 views
6

me encontré con un comentario this answer que establece que un proyecto de biblioteca:¿Por qué no se puede colocar un .aidl en un proyecto de biblioteca?

  1. no puede sostener .aidl archivos,
  2. no puede depender de otro proyecto de la biblioteca,
  3. no puede mantener activos

Bueno , ese comentario fue hecho hace un año y medio, y puedo decirle con la mayor certeza que el elemento # 2 ya no es cierto (September 2010?), porque tengo un proyecto perfectamente funcional, hecho de un proyecto de biblioteca que depende de otro proyecto de biblioteca.

Por lo tanto, mis preguntas son dos:

  1. ¿Sigue siendo cierto que un proyecto de biblioteca no puede sostener .aidl archivos?
  2. Si la respuesta al n. ° 1 es sí, ¿cuál es el motivo?

Por cierto, como un experimento, intenté colocar IMarketBillingService.aidl (a partir de la muestra de facturación integrada en la aplicación) en un proyecto de biblioteca (sin nada que lo utiliza todavía), y el proyecto construye y ejecuta como antes. Por lo tanto, si todavía no es posible que un proyecto de biblioteca contenga un .aidl, esto debe ser algo más profundo ...

Respuesta

6

La respuesta es 'No'. Puede usar un archivo AIDL en proyectos de biblioteca sin problemas. Utilizo dicha configuración en tres proyectos diferentes. No recuerdo exactamente cuándo, pero arreglaron esto hace un tiempo (probablemente cuando agregaron el soporte de bibliotecas y bibliotecas a ADT). La razón por la que no funcionó antes es porque el constructor ADT no reconoció el archivo AIDL y no generó los stubs Java necesarios.

+0

Gracias! Resulta que se ha eliminado recientemente otra limitación: [Generar un proyecto de biblioteca en su propio archivo JAR] (http://developer.android.com/guide/developing/projects/index.html#LibraryProjects). Tenga en cuenta que la documentación en la misma página se contradice a sí misma, pero acabo de probar esta nueva característica y puede generar un JAR de un proyecto de biblioteca ** independientemente **, sin depender de un proyecto de aplicación. –

+2

Sí, puede generar un JAR. Sin embargo, el contenedor no contiene ningún recurso, por lo tanto, si tiene diseños, cadenas, etc. en el proyecto de la biblioteca, no puede simplemente dejar caer el contenedor en su proyecto de aplicación. Siga el sitio de ADT directamente para obtener la información más actualizada, la documentación a veces está desactualizada. https://sites.google.com/a/android.com/tools/recent/ –

+0

Otro +1 para el enlace a https://sites.google.com/a/android.com/tools/recent/ - I no sabía sobre esa página. Esto es muy útil ¡Gracias! –

Cuestiones relacionadas