Process 'command 'D:\SDK\build-tools\27.0.3\aidl.exe'' finished with non-zero exit value 1

952 阅读1分钟

前言:

使用Androidstudio编译AIDL时,出现Process 'command 'D:\SDK\build-tools\27.0.3\aidl.exe'' finished with non-zero exit value 1的错误;

原因及解决办法

导致以上异常的原因有以下几种方式:

1,AIDL文件所在的包名和项目包名不一致(下图是正确的)

2, aidl文件中的包名信息和项目的包名(即 module下build.gradle中的applicationId "com.ang.aidltest")不一致,也会导致以上错误

3,如果aidl文件中导入Parcelable子类对象的包名不正确(下图也是正确的),也会导致以上异常;

aidl传递自定义的对象必须继承Parcelable,是可序列化的;

4,aidl文件名和接口名不一致

 

 5,aidl文件接口中任何一个地方书写错误都会导致

6,编译完成,系统根据IBookManager.aidl生成的IBookManager.java类(Binder类),所在的目录如下图:

7,声明了自定义Parcelable对象(上例中Book继承了Parcelable) 的aidl文件名,必须和Parcelable对象名一致;如上例中的:Book.aidl和Book.class

8,自定义Parcelable对象(例子中的Book.java)包名(所在的路径)和其对应声明的Book.aidl文件中的包名是否一直,不一致也会出现异常;