`
makeyouown
  • 浏览: 52461 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

坑爹啊,AIDL unable to start service not found

 
阅读更多
今天主要学习了一下AIDL,
什么是AIDL呢? 实际上它实现了一种不同应用程序共享服务的方式,需要编写服务器端和客户端,服务器端需要编写AIDL文件和具体实现并发布到模拟器上,客户端绑定服务就可以调用了,网上有不少例子教如何调用的,例如:
http://android.tgbus.com/Android/tutorial/201105/353147.shtml
这里就不详述。
但是我在自己实现的时候遇到了一个问题:
bindService时找不到服务,网上的解决方法是:确保客户端调用的服务名和服务器端定义的服务名即<service>标签内的action android:name里写的名字一致。我首先排除了这种可能。
但是错误依旧,没办法我想到在程序里打印出所有可见的全局服务,在后台日志发现确实找不到那个服务,后来发现我的客户端和服务端的包名一样,而在android系统中,是不允许有两个包名完全相同的应用程序存在,所以当我启动客户端时会把服务器端冲掉。

修改包名解决。
分享到:
评论

相关推荐

    AIDL开发-文章源码

    3. **创建客户端Intent**:在客户端,我们创建一个Intent,设置ACTION和BIND_AIDL标志,然后通过startService或bindService启动或绑定服务。 4. **获取服务的接口实例**:当客户端成功绑定服务后,...

    aidl.rar_AIDL_AIDL.rar_android AIDL service_android service_andr

    AIDL(Android Interface Definition Language)是Android系统提供的一种接口定义语言,用于在不同进程间进行通信,特别是当服务(Service)需要与客户端(如Activity)跨进程交互时。AIDL帮助开发者定义接口,使得...

    Android 使用AIDL进行两个APP之间通讯以及相互消息回调(一)

    AIDL:Android Interface Definition Language,翻译过来就是Android接口定义语言。是用于定义服务器和客户端通信接口的一种描述语言,可以拿来生成用于IPC的代码。所以使用AIDL需要一个服务端和客户端 作用:可以在...

    浅析aidl过程和绑定service的过程(不会使用的撤).zip

    在Android系统中,AIDL(Android Interface Definition Language)和Service是两个重要的组件,它们分别用于进程间通信(IPC,Inter-Process Communication)和后台服务执行。本篇文章将深入探讨AIDL的工作原理以及...

    Android startService bindService Aidl service基础全

    本文将深入探讨"Android startService, bindService, Aidl service基础全"这一主题,按照学习顺序依次讲解`testService`, `testBindService`, `testIntentService`, `testAidlClient+testAIDL`。 首先,我们来看`...

    aidl双向通信,Service加回调刷新自身Activity

    标题“aidl双向通信,Service加回调刷新自身Activity”涉及了两个关键概念:AIDL的双向通信以及通过Service回调更新Activity。 首先,让我们深入理解AIDL。AIDL是用来定义接口的,这些接口可以让一个Android进程...

    AIDL_AidlService_android_

    在提供的`codes`压缩包中,可能包含了一个完整的AIDL服务示例,包括服务端的`AidlService.java`和`IAidlService.aidl`,以及客户端的`MainActivity.java`。通过分析这些代码,我们可以看到如何实际应用上述理论,...

    Android Service讲解 和 aidl 实现

    在Android应用开发中,`Service`和`AIDL(Android Interface Definition Language)`是两个非常重要的组件,它们分别用于后台长时间运行的任务和服务间通信。本文将深入探讨这两个概念以及如何通过`AIDL`来实现服务...

    安卓AIDL相关-AIDLService远程调用例子。包括服务端与客户端两个工程文件.zip

    本压缩包"安卓AIDL相关-AIDLService远程调用例子"提供了一个服务端(Server)与客户端(Client)的示例,帮助开发者理解并掌握AIDL的使用。 首先,我们需要了解AIDL的基本概念。AIDL文件本质上是定义了一组接口,...

    一个及其简单的AIDL远程Service调用

    本示例"一个及其简单的AIDL远程Service调用"展示了如何通过AIDL在客户端(TestAidlClient)与服务端(TestAidlService)之间建立通信,实现远程调用。 首先,我们需要理解Service的基本概念。在Android中,Service...

    Activity和Service生命周期及使用AIDL通信实例备份

    启动Service通过startService()调用,而绑定Service则通过bindService()。启动Service只执行一次onStartCommand(),而绑定Service允许客户端通过IBinder接口与Service交互。理解何时使用启动或绑定Service是优化应用...

    深入理解aidl&service;

    深入理解aidl和service机制。 aidl是android进行系统间通信的借口描述语言,仔细分析由aidl生成的java类,你会发现code是用的是proxy design pattern,能看到这层就会觉得google的设计其实真的是很巧妙。如果需要...

    通过aidl service调用activity

    本篇将深入探讨如何通过AIDL来调用Service,并进而启动Activity,以及相关的源码分析和工具使用。 首先,理解AIDL的基本概念是必要的。AIDL定义了一种接口,这个接口可以被多个进程共享,允许一个进程(如Service)...

    Aidl demo-master service

    4. **启动服务**:客户端可以使用`startService()`或`bindService()`启动服务,获取`IBinder`对象。 5. **调用接口**:客户端通过`IMyInterface`接口的`asInterface()`方法获取到服务端的代理对象,然后就可以调用...

    使用AIDL实现Service与Client绑定后的双向调用

    有时,我们可能需要在Service和另一个应用组件之间进行更复杂的通信,例如双向交互,这时可以利用Android Interface Definition Language(AIDL)来实现。本文将深入探讨如何使用AIDL在Service与Client之间实现绑定...

    android aidl 之 system service 架构

    本篇文章将深入探讨AIDL在System Service架构中的应用和作用。 首先,理解AIDL的基本概念至关重要。AIDL是一种接口定义语言,允许开发者声明一个可以在不同进程间调用的方法。当两个Android组件(如服务和服务,...

    AIDL_RemoteService

    - 使用`startService()`或`bindService()`启动服务,`bindService()`更适合需要长时间连接的情况。 **注意事项** 1. **线程安全**:由于跨进程调用可能会涉及多个线程,所以服务端的方法需要确保线程安全。 2. **...

    AIDL Demo源码实现Activity与Service进程间通信

    本篇文章将深入探讨如何通过AIDL在Activity与Service之间进行进程间通信。 首先,理解AIDL的基本概念。AIDL是一种接口定义语言,它允许开发者声明接口,这些接口可以被其他进程调用。当一个Service在不同的进程中...

    方式一:Context.startService()源码

    - `startService()`只会触发一次`onStartCommand()`,即使多次调用`startService()`,服务只会执行一次`onStartCommand()`,除非`onStartCommand()`返回`START_STICKY`或`START_REDELIVER_INTENT`,这时当服务意外...

    AIDL方式实现Service更新UI的功能

    然而,在某些情况下,我们可能需要Service在后台执行任务并更新UI,这时就需要借助AIDL(Android Interface Definition Language)来实现跨进程通信。本文将详细讲解如何通过AIDL来实现Service更新UI的功能。 首先...

Global site tag (gtag.js) - Google Analytics