Android AOSP编译错误 - 无法在aidl文件中找到导入

时间:2014-07-20 21:13:56

标签: android android-service

我正在尝试通过添加新的系统服务来修改AOSP。

我有以下服务的援助:

package android.app;

import java.util.ArrayList;

import android.app.TypeA;
import android.app.TypeB;

interface myService { 

     ArrayList<TypeA> getA();
     ArrayList<TypeB> getB();

}

TypeA和TypeB正在实现Parcelable接口,当我尝试构建Android时,它无法导入这3个:

couldn't find import for class java.util.ArrayList
couldn't find import for class android.app.TypeA
couldn't find import for class android.app.TypeB

我已经查看了有关SO的其他相关问题,到目前为止还没有找到适合我的答案。

有谁知道如何解决这个问题?

1 个答案:

答案 0 :(得分:3)

我可以看到一个问题,我会猜到一秒钟:

  • ArrayList,TypeA和TypeB不是Parcelable。您通过Binder传递的所有对象都必须实现Parcelable接口。
  • 为了使AIDL正常工作,您必须在AIDL文件中声明 AIDL定义中使用的每个对象。例如,如果TypeA 实现了Parcelable,那么您仍然需要一个AIDL文件

像这样:

package my.app;

parcelable TypeA;