坑爹啊,AIDL unable to start service not found
今天主要学习了一下AIDL,
什么是AIDL呢?实际上它实现了一种不同应用程序共享服务的方式,需要编写服务器端和客户端,服务器端需要编写AIDL文件和具体实现并发布到模拟器上,客户端绑定服务就可以调用了,网上有不少例子教如何调用的,例如:
http://android.tgbus.com/Android/tutorial/201105/353147.shtml
这里就不详述。
但是我在自己实现的时候遇到了一个问题:
bindService时找不到服务,网上的解决方法是:确保客户端调用的服务名和服务器端定义的服务名即<service>标签内的actionandroid:name里写的名字一致。我首先排除了这种可能。
但是错误依旧,没办法我想到在程序里打印出所有可见的全局服务,在后台日志发现确实找不到那个服务,后来发现我的客户端和服务端的包名一样,而在android系统中,是不允许有两个包名完全相同的应用程序存在,所以当我启动客户端时会把服务器端冲掉。
修改包名解决。
相关推荐
chaoxiao 2020-04-09
HLW0 2011-11-17
lixuce 2010-09-12
82324899 2015-05-18
hustpzb 2014-09-02
solarsaber 2014-07-22
ALDRIDGE 2014-07-21
srp 2013-05-04
sgafdsg 2013-02-07
zyjibai 2012-06-07
Nostalgiachild 2012-05-15
rookieding 2012-02-22
douandroid 2011-11-23
冰川孤辰 2011-06-08
Linux学堂 2011-04-18
bible 2011-04-13
人走丿茶凉 2011-03-29
ruizhenggang 2011-03-13
Attend 2011-07-13