首先我看到了这个:
它根本没有帮助我。这是交易。我有一个apk创建一个远程服务(称之为A)。然后我有另一个apk(称之为B)。如何在不包含AIDL文件或jar文件的情况下将B连接到A.我认为这是可能的。
**更新**
所以我将AIDL文件复制到B中,并在A中为AIDL文件创建了一个服务。我可以连接到远程服务,并立即绑定到该服务。但是,当我尝试调用服务中存在的方法时,我得到了:
java.lang.SecurityException:Binder调用错误的接口
无法找到任何帮助。有什么想法吗?
**问题已解决** AIDL文件必须位于项目B中具有相同名称的包中。感谢您的帮助Peter。
答案 0 :(得分:1)
您必须知道在两个单独进程之间发送的数据的格式。这是将数据序列化/反序列化为Java对象所必需的。
AIDL是描述对象结构的描述语言。
所以,你有两个选择:
您有AIDL或
您的代码明确知道进行解/序列化的格式。这是Parcelable
的实施。此实现可能位于您在应用中包含的jar中。