Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/206.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如果AIDL文件不匹配,会发生什么?_Android_Service_Client_Aidl - Fatal编程技术网

Android 如果AIDL文件不匹配,会发生什么?

Android 如果AIDL文件不匹配,会发生什么?,android,service,client,aidl,Android,Service,Client,Aidl,我在Android应用程序中使用AIDL。这里有两个我有问题的案例 案例1。客户端的aidl文件有一个方法a(),服务的aidl文件有两个方法a()和b() 它正常工作吗?我已经测试过了,没有发现任何问题。bin服务()方法工作正常 案例2。客户端的aid文件有两种方法a()和b(),但服务的aild文件只有a()方法 bin服务()方法有效。当我们在客户机中调用b()方法时,就会发生崩溃。在这里,我认为bin服务不应该工作,因为aidl服务没有方法b() 我想确保我得到的结果是正确的,并且在所

我在Android应用程序中使用AIDL。这里有两个我有问题的案例

案例1。客户端的aidl文件有一个方法
a()
,服务的aidl文件有两个方法
a()
b()

它正常工作吗?我已经测试过了,没有发现任何问题。
bin服务()
方法工作正常

案例2。客户端的aid文件有两种方法
a()
b()
,但服务的aild文件只有
a()
方法

bin服务()
方法有效。当我们在客户机中调用
b()
方法时,就会发生崩溃。在这里,我认为
bin服务不应该工作,因为aidl服务没有方法
b()


我想确保我得到的结果是正确的,并且在所有设备上都会发生这种情况。

您得到的结果是正确的。还要注意,排序对于aidl文件很重要

示例:如果在客户端和服务中有两种方法:

a()
b()
然后在中间添加了方法
c()

a()
c()
b()

在这种情况下,如果您没有使用更新的aidl更新客户端,那么从客户端调用方法
b()
最终会调用服务中的
c()
——这很奇怪,但这似乎是如何工作的(我在安卓4.3上做过研究)

您得到的结果是正确的。还要注意,排序对于aidl文件很重要

示例:如果在客户端和服务中有两种方法:

a()
b()
然后在中间添加了方法
c()

a()
c()
b()
在这种情况下,如果您不使用更新后的aidl更新客户端,那么从客户端调用方法
b()
最终会调用服务中的
c()
——这很奇怪,但它似乎就是这样工作的(我在安卓4.3上做过研究)