您的位置:首页 > 移动开发 > Android开发

android aidl服务与Binder invocat…

2014-06-14 19:34 381 查看
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文件也应有相应定义.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: