Android Studio AIDL 自定义类型找不到问题

Posted tuacy

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android Studio AIDL 自定义类型找不到问题相关的知识,希望对你有一定的参考价值。

       如果你也是像我一样的新手,也是刚开始接触AIDL,也是在网上找了一些关于AIDL的简单例子,也在android Studio下面尝试去敲代码来测试这些例子。碰巧和我一样找到了一个保存Person信息的例子,AIDL有个接口传递的是自定义类型Person的参数。(如果我们没有改Android Studio默认的文件结构,新建aidl文件的时候Android Studio 帮我们建了一个aidl的文件夹,因为在使用aidl的时候客户端和服务器端包名也要完全一样我们为了方便直接复制整个aidl文件夹到客户端会把aidl文件和aidl接口中用到的自定义类型都放到这个文件中)。当我们一步一步的进行编译的时候会报aidl接口中用到的自定义类型的包找不到。解决办法如下,我是这么干的。在gradle文件中加。

    sourceSets 
        main 
            manifest.srcFile 'src/main/AndroidManifest.xml'
            java.srcDirs = ['src/main/java', 'src/main/aidl']
            resources.srcDirs = ['src/main/java', 'src/main/aidl']
            aidl.srcDirs = ['src/main/aidl']
            res.srcDirs = ['src/main/res']
            assets.srcDirs = ['src/main/assets']
        
    

把src/main/aidl文件也作为java.srcDirs, resources.srcDirs。

我的Server工程目录结构:

整个工程的代码: Android Studio AIDL非常非常简单的一个例子

以上是关于Android Studio AIDL 自定义类型找不到问题的主要内容,如果未能解决你的问题,请参考以下文章

Android进阶AIDL使用自定义类型

Android Studio中使用AIDL进行进程间通信

android studio中使用AIDL进行客户端与服务端互相通信

Android Studio中如何创建AIDL

Android Studio创建AIDL文件并实现进程间通讯

android app 打包流程