¿No se pueden usar archivos LEAIDL en proyectos de bibliotecas? -- android campo con aidl camp Relacionados El problema

Can't use .aidl files across library projects?


3
vote

problema

Español

En el espíritu de reutilizar el código, estoy tratando de crear algunos proyectos de la biblioteca. Sin embargo, parece que me encuentro con un problema que define los archivos de WAIDL que abarcan las bibliotecas. Aquí está el problema:

en la biblioteca A tengo foo.java y foo.aidl. Foo.java es parcelable, por lo que la Declaración Aidl es:

  grp     bin       Hist freq ============================ 1      [0-100]     1 1      [101-200]   2 2      [301-400]   2 2  

Ahora estoy tratando de crear la biblioteca B. En la biblioteca B quiero definir una interfaz de servicio que usa la clase FOO:

  grp     bin       Hist freq ============================ 1      [0-100]     1 1      [101-200]   2 2      [301-400]   2 3  

Este archivo no compila quejándose de que no se pudo encontrar la importación para FOO. He intentado referenciar la biblioteca A y he intentado agregar el proyecto de la biblioteca como un frasco externo, pero ninguno de los dos trabajamos.

¿Hay una limitación de que no conozco? ¿Estoy haciendo algo mal con mi configuración de proyecto?

Probablemente debería mencionar que he usado la biblioteca directamente en un proyecto sin ningún problema, así que confío en que Lib A no es el problema.

Original en ingles

In the spirit of re-using code, I'm trying to create a few library projects. However, I seem to run into a problem defining .aidl files that span the libraries. Here is the problem:

In library A I have Foo.java and Foo.aidl. Foo.java is Parcelable so the aidl declaration is:

Foo.aidl:  package com.example.library.A; parcelable Foo; 

Now I'm trying to create library B. In library B I want to define a service interface that uses class Foo:

IMyService.aidl:  package com.example.library.B; import com.example.library.A.Foo;  interface IMyService {     void requestSomething(in Foo fooBug); } 

This file does not compile complaining that it couldn't find the import for Foo. I've tried referencing library A and I've tried adding the library project as an external jar, but neither work.

Is there a limitation that I don't know about? Am I doing something wrong with my project setup??

I should probably mention that I've used library A directly in a project with no problem so I'm confident that lib A is not the problem.

     
     
     

Lista de respuestas

2
 
vote
vote
La mejor respuesta
 

Lo tengo trabajando, pero no estoy contento con la solución. En Lib B, tuve que agregar un paquete com.example.library.a y copiar el archivo foo.aidl en él.

 

I have it working, but I'm not happy with the solution. In lib B, I had to add a com.example.library.A package and copy the Foo.aidl file into it.

 
 

Relacionados problema

0  Cómo pasar la instancia de Ver a Aidl  ( How to pass view instance via aidl ) 
Estoy tratando de obtener una vista ampliada de notificaciones desde estadoBarservice.java y pasarlo a través del servicio Aidl a otra aplicación. -framewo...

2  ContentProvider vs. Uso de Aidl / Messenger  ( Contentprovider vs using aidl messenger ) 
Quiero desarrollar una aplicación que admita los complementos y que proporcione datos a estos complementos. Me parece que la forma correcta de implementar est...

1  Servicio remoto de Android Ejecutando, pero OnStartCommand nunca llamó  ( Android remote service executing but onstartcommand never called ) 
Entonces, después de 2 a 3 horas de fracasos, finalmente obtuve mi servicio remoto para trabajar de alguna manera, pero está actuando de manera real. Estoy ...

3  Servicio remoto con Aidl Archivo: ServiceConnectection nunca llamado  ( Remote service with aidl file serviceconnection never called ) 
Me gustaría unir 2 aplicaciones a través de un servicio con Aidl Archivo. En mi aplicación A (con servicio a la que se accederá): → Aidl File (billinginte...

0  ¿Se une al servicio y ejecuta algunos métodos?  ( Bind to service and execute some methods ) 
OK, entendí, que cuando se une a un remoto Service , no se enlazará hasta que regrese de la devolución de llamada. Necesito unir a un servicio y ejecutar alg...

2  ¿Cómo usar AAPT y JAVAC con las bibliotecas de soporte de Android?  ( How to use aapt and javac with android support libraries ) 
¿Alguien puede ayudarme a construir aplicaciones de Android utilizando herramientas (AAPT, AIDL, JAVAC, DX, JARSIGNER) con la biblioteca de soporte de Android...

0  No se puede atar al servicio  ( Cant bind to service ) 
Tengo un archivo AIDL definido de la siguiente manera: B1 El servicio es: B2 y la actividad que tiene que unirse al servicio es: paquete com.erbed...

0  Aidl Android: necesita un cliente y un servidor de muestra (dos aplicaciones diferentes)  ( Android aidl need a sample client and server two different apps ) 
Tengo dos aplicaciones diferentes: un cliente y otro un servidor remoto y estoy tratando de usar Aidl. Pude compilar al cliente al importar la clase de servid...

67  Ejecución fallida por la tarea ': aplicación: compiledebugaidl': falta Aidl  ( Execution failed for task appcompiledebugaidl aidl is missing ) 
Instalé el estudio Android en mi computadora. Creé un nuevo proyecto, pero eso me consiguió el error a continuación. ¿Qué puedo hacer? Error:Execution fail...

2  ¿Android proporciona algún mecanismo de versiones para interfaces AIDL?  ( Does android provide any versioning mechanisms for aidl interfaces ) 
Estamos planeando exportar una interfaz Aidl de capas de aplicación. ¿Cuáles son algunas de las mejores prácticas con respecto a la gestión de la compatibilid...




© 2022 respuesta.top Reservados todos los derechos. Centro de preguntas y respuestas reservados todos los derechos