如何将第三方库包装为android服务?

如何将第三方库包装为android服务?,android,service,aidl,Android,Service,Aidl,所以我有一个通过蓝牙或wifi驱动外部设备的库。图书馆是另一个政党写的,我真的无法改变它 将有多个android应用程序控制该设备。单独的APK和单独的流程。当用户切换应用程序时,无法进行连接/重新连接。因此,我的想法是基本上将库包装在一个服务中,该服务在它自己的流程中运行,客户机应用程序可以绑定到该服务 这提出了几个有趣的问题。库中的数据对象不可打包或序列化。虽然没有那么多,但它们支持泛型,将它们全部打包将非常耗时 还有几十个对象,它们基本上表示用于控制设备特定方面的接口,每个接口都有2-12

所以我有一个通过蓝牙或wifi驱动外部设备的库。图书馆是另一个政党写的,我真的无法改变它

将有多个android应用程序控制该设备。单独的APK和单独的流程。当用户切换应用程序时,无法进行连接/重新连接。因此,我的想法是基本上将库包装在一个服务中,该服务在它自己的流程中运行,客户机应用程序可以绑定到该服务

这提出了几个有趣的问题。库中的数据对象不可打包或序列化。虽然没有那么多,但它们支持泛型,将它们全部打包将非常耗时

还有几十个对象,它们基本上表示用于控制设备特定方面的接口,每个接口都有2-12种方法。也许我可以用AIDL把它们包装起来

我想让使用服务尽可能类似于直接使用图书馆


我觉得将第三方库包装成AIDL服务对于Android开发者来说可能并不少见。有没有人对此有什么建议?

“我觉得把第三方库包装成AIDL服务对Android开发者来说可能并不少见”——我猜2000年可能会有一个开发者需要这样做。@commonware让我觉得很特别;-)我想我以前看过你们的一些教程,如果我没记错的话,它们很有帮助。“让我感觉特别的方法;-)”——我们每个人都很特别,都有自己独特的方式。:-)说真的,你的情况很不寻常。首先,您正在编写一套应用程序,这些应用程序(显然)是为现成的硬件设计的,而大多数开发人员并没有这样做。第二,你的程序库是有状态的,这是应用程序套件所关心的,相对较少的程序库会有这种限制,因为大多数程序库都是专门设计来只关心当前进程的,而不是设备上其他地方发生的事情。2000年的1似乎是合理的。尽管如此,这是一个令人讨厌的问题。