如何从其他.apk连接到远程服务

时间:2011-09-26 20:47:36

标签: android service apk aidl

首先我看到了这个:

Remote Service as apk

它根本没有帮助我。这是交易。我有一个apk创建一个远程服务(称之为A)。然后我有另一个apk(称之为B)。如何在不包含AIDL文件或jar文件的情况下将B连接到A.我认为这是可能的。

**更新**

所以我将AIDL文件复制到B中,并在A中为AIDL文件创建了一个服务。我可以连接到远程服务,并立即绑定到该服务。但是,当我尝试调用服务中存在的方法时,我得到了:

java.lang.SecurityException:Binder调用错误的接口

无法找到任何帮助。有什么想法吗?

**问题已解决** AIDL文件必须位于项目B中具有相同名称的包中。感谢您的帮助Peter。

1 个答案:

答案 0 :(得分:1)

您必须知道在两个单独进程之间发送的数据的格式。这是将数据序列化/反序列化为Java对象所必需的。

AIDL是描述对象结构的描述语言。

所以,你有两个选择:

  1. 您有AIDL或

  2. 您的代码明确知道进行解/序列化的格式。这是Parcelable的实施。此实现可能位于您在应用中包含的jar中。