2012-01-13 5 views
6

私は、ライブラリプロジェクトと述べているコメントthis answerに出くわした:別のライブラリプロジェクトに依存することはできません、 .aidlをライブラリプロジェクトに配置できないのはなぜですか?

  • はまあ資産
  • を保持することはできません

    1. が.aidlファイルを保持することはできませんそのコメントは約1年半前に行われました。私は完璧に働いているプロジェクトであるので、アイテム#2はもはや真実ではないことを、確実に教えてくれます。(September 2010?)別のライブラリプロジェクトに依存します。

      だから、私の質問は2つです:

      1. は、ライブラリプロジェクトが.aidlファイルを保持することはできませんことを、まだ本当ですか?
      2. #1の答えが「はい」の場合、その理由は何ですか?

      ところで、実験として、私は(まだそれを使用して何もせずに)ライブラリプロジェクトで(アプリ内課金サンプルから)IMarketBillingService.aidlを配置しようとした、プロジェクトがビルドされ、以前のように動作します。したがって、まだライブラリプロジェクトが.aidlを含むことができない場合、これはもっと深いものでなければなりません。

  • 答えて

    6

    答えは 'いいえ'です。ライブラリプロジェクトのAIDLファイルをうまく使うことができます。私は3つの異なるプロジェクトでそのような設定を使用します。正確にいつ覚えていないのですが、これはしばらく前に修正されました(たぶんADTにライブラリライブラリサポートを追加したとき)。これまでに動作しなかったのは、ADT BuilderがAIDLファイルを認識せず、必要なJavaスタブを生成しなかったためです。

    +0

    ありがとうございます!最近、[ライブラリプロジェクトを独自のJARファイルに生成する](http://developer.android.com/guide/developing/projects/index.html#LibraryProjects)という別の制限が最近削除されています。同じページのドキュメントはそれ自体と矛盾していますが、この新しい機能をテストしただけで、アプリケーションプロジェクトに依存せずにライブラリプロジェクト**から独立して**を生成できます。 –

    +2

    はい、JARを生成できます。しかし、jarファイルにはリソースが含まれていないので、ライブラリプロジェクトにレイアウトや文字列などがある場合は、単にアプリケーションプロジェクトにjarファイルをドロップすることはできません。最新の情報についてはADTサイトを直接参照してください。文書は時には時代遅れです。 https://sites.google.com/a/android.com/tools/recent/ –

    +0

    https://sites.google.com/a/android.com/tools/recent/へのリンクの+1そのページについて知りませんでした。これは非常に便利です。ありがとう! –

    関連する問題