不能跨库项目使用.aidl文件?

时间:2012-02-14 13:17:19

标签: android aidl

本着重用代码的精神,我正在尝试创建一些库项目。但是,我似乎遇到了定义跨库的.aidl文件的问题。这是问题所在:

在库A中我有Foo.java和Foo.aidl。 Foo.java是Parcelable所以aidl声明是:

Foo.aidl:

package com.example.library.A;
parcelable Foo;

现在我正在尝试创建库B.在库B中,我想定义一个使用类Foo的服务接口:

IMyService.aidl:

package com.example.library.B;
import com.example.library.A.Foo;

interface IMyService {
    void requestSomething(in Foo fooBug);
}

此文件无法编译抱怨无法找到Foo的导入。我尝试引用库A,我尝试将库项目添加为外部jar,但都不起作用。

是否存在我不知道的限制?我的项目设置有问题吗?

我应该提一下,我已经在一个没有问题的项目中直接使用了库A,所以我确信lib A不是问题。

1 个答案:

答案 0 :(得分:1)

我有它的工作,但我对解决方案不满意。在lib B中,我不得不添加一个com.example.library.A包并将Foo.aidl文件复制到其中。