Android使用AIDL实现进程通信中Service报错的问题

原创 2015年07月07日 10:17:59

Android使用AIDL实现进程通信中Service报错的问题

最近在学习AIDL实现进程通信过程中,一个远程服务Service(应用中无Activity组件,只有一个Service和aidl文件),一个客户端Client(一个Activity和aidl文件)。然后不知道为什么每回打开客户端都会报告服务已停止,搞了半天最后才知道,都是文件命名的坑啊。以下是我Service工程文件。


一开始也不知道怎么想的应用包名起成这样,而在配置文件中,又写成这样:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mgy.remoteservice"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <service 
            android:name=".StudentQueryService"<!-- 注意这里 -->
            android:enabled="true">
            <intent-filter >
                <action android:name="com.mgy.studentremotequery"/>
            </intent-filter>
        </service>
    </application>

</manifest>

然后可想而知,这能跑起来才怪。。。

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.mgy.remoteservice"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="21" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >
        <service 
            android:name="com.mgy.remote.service.StudentQueryService"<!-- 注意这里 -->
            android:enabled="true">
            <intent-filter >
                <action android:name="com.mgy.studentremotequery"/>
            </intent-filter>
        </service>
    </application>

</manifest>

再次修改,顺利的跑起来了。
当然,直接改包名也是可以的。
一定要注意命名!

相关文章推荐

关于Android AIDL 编译报错问题

title: 关于Android AIDL报错问题 date: 2017年9月11日14:42:17 categories: Android tags: [android aidl, android ...

Android AIDL使用报错

在使用aidl时出现如下错误: interface IMediaPlaybackService should be declared in a file called XXXXX(如:com\and...
  • JMC601
  • JMC601
  • 2016年03月08日 18:04
  • 1114

编译Android系统AIDL模块出现couldn't find import for class错误的解决办法

编译Android系统源码,在framework/ex目录下新建了一个目录单独编译一个模块,里面还有AIDL接口声明,并且声明中用到了 自定义的JAVA类,写入import代码后编译报错couldn...

在android 源码里 编译 aidl 报错 的问题

今天编译的时候,碰到一个这个问题。 aidl can only generate code for interfaces, not parcelables, aidl files that o...

android studio 下aidl的使用遇到的坑

这几天在看学习android下IPC的机制,在深入学习aidl时候碰到个蛋疼的问题,在此记录下来。 对于最新版本的android studio 右键new AIDL-AIDL File后,会自动在s...

Android aidl问题汇总

本篇记录Android aidl设计过程中所犯的错误,不断更新。 1.aidl编译不通过 aidl引用的类必须是parceable或者属于系统(jar包)。自定义的类必须是parcebale,也就...

Android之最清晰的通过AIDL实现Service跨进程通信

将一个普通的Service转换成远程Service其实非常简单,只需要在注册Service的时候将它的android:process属性指定成:remote就可以了,代码如下所示: [h...

Android使用AIDL实现跨进程通信

  • 2015年12月31日 10:10
  • 4.62MB
  • 下载

使用AIDL方式启动Service 实现跨进程通信

使用AIDL方式启动Service实现跨进程音乐播放

Android中的跨进程通信方法实例及特点分析(一):AIDL Service

Android中有4种跨进程通信方式,分别是利用AIDL Service、ContentProvider、Broadcast、Activity实现。虽然都是能实现跨进程通信方式,但是各自的特点不一样,...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android使用AIDL实现进程通信中Service报错的问题
举报原因:
原因补充:

(最多只允许输入30个字)