4

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

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

Foo.aidl:

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

现在我正在尝试创建库 B。在库 BI 中想要定义一个使用类 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 没有问题,所以我相信库 A 不是问题。

4

1 回答 1

2

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

于 2012-03-19T18:29:20.300 回答