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 に答える