在不提供源代码的情况下访问Android服务

在不提供源代码的情况下访问Android服务,android,android-service,Android,Android Service,我正在创建一个我自己的应用程序将使用的Android服务,但我也希望外部应用程序可以使用它 该服务是使用AIDL文件声明的 我有两个独立的项目,一个用于服务,一个用于应用程序。 在Eclipse中,我引用应用程序项目中的服务项目,以访问从AIDL文件生成的类,这很好 但现在,我想让其他应用程序访问该服务,我该怎么做? 我应该分发AIDL文件吗?班级档案? 每个项目都必须将我的AIDL文件复制到他们的eclipse项目中 如果我更改服务方法的签名怎么办 谢谢如果您希望第三方访问您的服务,您必须为他

我正在创建一个我自己的应用程序将使用的Android服务,但我也希望外部应用程序可以使用它

该服务是使用AIDL文件声明的

我有两个独立的项目,一个用于服务,一个用于应用程序。 在Eclipse中,我引用应用程序项目中的服务项目,以访问从AIDL文件生成的类,这很好

但现在,我想让其他应用程序访问该服务,我该怎么做? 我应该分发AIDL文件吗?班级档案? 每个项目都必须将我的AIDL文件复制到他们的eclipse项目中

如果我更改服务方法的签名怎么办


谢谢

如果您希望第三方访问您的服务,您必须为他们提供某种形式的接口。在这种情况下,这将是艾德尔。因此,您必须分发它,服务消费者必须使用它。最有可能的是,他们将不得不将其包括在项目中


如果您更改签名,他们将不得不更新其代码。这是类似情况下的典型问题-欢迎加入俱乐部!您需要以某种形式对接口定义进行版本设置,然后阻止不兼容的客户端或提供一些转换层,以便它们使用旧接口访问您的新服务。

如果您希望第三方访问您的服务,则必须为其提供某种形式的接口。在这种情况下,这将是艾德尔。因此,您必须分发它,服务消费者必须使用它。最有可能的是,他们将不得不将其包括在项目中

如果您更改签名,他们将不得不更新其代码。这是类似情况下的典型问题-欢迎加入俱乐部!您需要以某种形式对接口定义进行版本设置,然后阻止不兼容的客户端或提供一些转换层,以便它们使用旧接口访问您的新服务