android studio 下aidl的使用遇到的坑

这几天在看学习android下IPC的机制,在深入学习aidl时候碰到个蛋疼的问题,在此记录下来。

对于最新版本的android studio 右键new AIDL-AIDL File后,会自动在src/main/目录下创建路径 aidl/创建的aidl文件即放在这个路径下接下来通过build project IDE会自动生成与定义接口相关的文件,文件创建的路径为:app/build/generated/source/aidl/debug/ 下。

所有与AIDL相关的类都在aidl这个包下,那么问题来了,编译不通过,会报错


找不到符号(cannot find symbol)即在debug中生成的文件找不到MyParcelable类的定义。

MyParcelable.java 文件不能放在aidl/路径下!(即不应该与MyParcelable.aidl放在一起)而是应该放在工程的java/路径下。这样rebuild,就不会再报错了。

重要的事情说三遍在工程的java/路径下,直接放在这里,不要再有其他的包!!!我之前就是又再该目录下新增了一个bean的包,然后将MyParcelable.java放在了bean包下,这种方法也是错的!之后的工作在service中实现相关接口的方法即可,详细方法参照上文中的官方教程,在此不再赘述了。

你可能感兴趣的:(android studio 下aidl的使用遇到的坑)