Android 如果AIDL文件不匹配,会发生什么?
我在Android应用程序中使用AIDL。这里有两个我有问题的案例 案例1。客户端的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() 我想确保我得到的结果是正确的,并且在所
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上做过研究)