android aidl服务与Binder invocat…

android aidl服务用于不同客户端来调用,一般是先安装服务(服务没有应用Activity),再安装其他客户端,调用时客户端需定义与aidl服务相同的包名的aidl文件。否则会出现接口找不到,服务无法初始化的问题.而导致Binder invocation to an incorrect interface的异常。

 

我做了一个调用谷歌翻译api的客户端。应用的就是此原理。自定义aidl文件,但在使用过程中报如下错误:
02-27 11:42:19.994: WARN/Parcel(31504): **** enforceInterface() expected 'com.google.android.apps.translate.ITranslate' but read

'com.cjq.translator.ITranslate'

02-27 10:16:34.767: ERROR/Translator(30196): Error: Binder invocation to an incorrect interface

从错误分析得知:我们自定义的aidl文件须与调用的谷歌翻译api的包名不一致,可能是导致 invocation to an incorrect interface的原因。
因此我将aidl文件和服务的包名更改后,再进行调试。问题解决.同时注意AndroidManifest文件也应有相应定义.

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值