コードを再利用する精神で、私はいくつかのライブラリプロジェクトを作成しようとしています。しかし、私はライブラリにまたがる.aidlファイルを定義する問題に遭遇しているようです。ここに問題があります:ライブラリプロジェクト全体で.aidlファイルを使用できません。
私はFoo.javaとFoo.aidlがあります。
Foo.aidl:
package com.example.library.A;
parcelable Foo;
今、私は図書館BIでは、ライブラリBを作成しようとしているクラスはFooを使用するサービス・インターフェースを定義したい:
IMyService.aidl:
package com.example.library.B;
import com.example.library.A.Foo;
interface IMyService {
void requestSomething(in Foo fooBug);
}
このFoo.javaはAIDL宣言があるのでParcelableですファイルがFooのインポートを見つけることができないと不平を言ってコンパイルしません。私はライブラリAを参照しようとしましたが、私は外部のjarとしてライブラリプロジェクトを追加しようとしましたが、どちらも動作しませんでした。
制限事項はありますか?プロジェクトの設定に何か問題がありますか?
おそらく私はライブラリAを問題なくプロジェクトに直接使用したと言えるでしょう。私はlib Aが問題ではないと確信しています。
これは私にとってはうまくいきます - ライブラリ以外のプロジェクトでライブラリのAIDLクラスを使用する場合と、別のライブラリでライブラリのAIDLクラスを使用する場合があります。 Eclipseプロジェクトのツリーに「Library Projects」という項目が必要です。 Bのエントリに、Aの期待されるJARへの参照が含まれていることを確認してください。 –
私はしばらく前に書いたプロトタイプで私のために働いています。しかしそれは今ではありません。私はツールのv14への更新がそれを壊したと思われる:http://tools.android.com/recent/buildchangesinrevision14 – jsmith
私はそれを働かせているが、私は解決策に満足していない。 lib Bでは、com.example.library.Aパッケージを追加し、Foo.aidlファイルをそこにコピーする必要がありました。 – jsmith