使用 AIDL 编写 Android 服务时如何为客户端分发自定义类
Posted
技术标签:
【中文标题】使用 AIDL 编写 Android 服务时如何为客户端分发自定义类【英文标题】:How to distribute custom classes for clients when writing Android service with AIDL 【发布时间】:2015-01-13 15:17:11 【问题描述】:我正在编写 android 服务应用程序。客户端绑定到服务,然后调用远程函数(使用 AIDL 生成的接口)并返回结果。我知道我可以使用任意类的对象(继承自 Parcelable 并实现 Creator 接口)作为参数或返回值。客户端和服务必须使用相同的“接口参数”类。问题是如何向客户发布和分发 .aidl 文件和这样的“共享”类集?这些类必须是公共 API 的一部分。我看到的唯一方法是创建一个包含客户端和服务器使用的所有类的“依赖”库,并让客户端在他们的项目中使用它。这是一种常见的方法吗?
【问题讨论】:
【参考方案1】:我看到的唯一方法是创建一个包含所有类的“依赖”库 由客户端和服务器使用,并让客户端在他们的 项目。这是一种常见的方法吗?
没错。只需将所有类和您的 AIDL 文件打包到该库中即可将其提供给您的客户。客户需要做的唯一一件事就是将您的 AIDL 文件的副本放入他们的项目中,这样就可以构建服务代理实现。
Google 这样做是为了他们的应用内结算库。 Here is a description 他们建议如何使用它。
【讨论】:
以上是关于使用 AIDL 编写 Android 服务时如何为客户端分发自定义类的主要内容,如果未能解决你的问题,请参考以下文章