2011-11-01 8 views

答えて

29

任意のAndroidライブラリプロジェクトを外部JARに変換できますか?

現在はありません。

制限事項や制限はありますか?

ライブラリが純粋にJavaコードでリソースがない場合は、通常のJavaと同様に.classファイルからJARを作成できます。

ライブラリでリソースが使用されている場合でも、上記のようにJARを作成できます。ただし、Rの値(例:R.layout.main)を反映またはgetIdentifier()で検索する必要があり、リソースはJARにパッケージ化されずに別々に配布する必要があります。

今後、ビルドツールは、ライブラリプロジェクトからリソースを使って配布可能なJARファイルを作成することをサポートする必要があります。現在のビルド・ツールはJARを作成しますが、配布するようには設計されていませんが、現時点では内部ビルド・アーティファクトです。

+2

.classファイルからJARを作成することは、[jar cf jar-file input-files](http://download.oracle.com/javase/tutorial/deployment/jar/build.html)と同じくらい簡単です。 )?また、 'getIdentifier()'を介してアクセスされるリソースが別々にどのように配布されるかについてもう少し詳しく説明できますか? – uTubeFan

+1

@uTubeFan: ".classファイルからJARを作成するのは、jar cf jar-file input-filesと同じくらい簡単です。おそらく。私はAntの ''タスクを自分で使います。 「また、getIdentifier()を介してアクセスされるリソースが別々にどのように配布されるかについてもう少し詳しく説明できますか? - うーん、JARファイルにない場合、JARの再利用者がファイルを必要とする場合、再利用者はそれらのファイルを何とか取得する必要があります。JARと 'res /'ツリーを含むZIPアーカイブをお勧めします。 – CommonsWare

+0

こんにちは@uTubeFanプロジェクトを考えてみましょう** MyTranslator **私はjarファイル** xyztranslator.jar **をインポートしたため、テキストを翻訳しています。今度は** MyTranslator **プロジェクトを**。jar **ファイルに変換して、** MyTranslator **プロジェクトのすべてのクラスと** xyztranslator.jar **のすべてのクラスを使用できるようにします。単に私の質問は**どのようにjarファイルをインポートした.jarファイルにAndroidアプリケーションをエクスポートすることができます** –

2

http://developer.android.com/guide/developing/projects/index.html#LibraryProjectsこれらを外部JARにエクスポートすることはできません。具体的な引用:

同様にあなたが真のライブラリーのために行うように、あなたは、自己完結型の JARファイルにライブラリプロジェクトをエクスポートすることはできません。その代わりに、 従属アプリケーション内のライブラリを参照し、そのアプリケーションを構築することによって間接的にライブラリをコンパイルする必要があります。

+0

ありがとうございました。同じページには、「各ライブラリプロジェクトを独自のJARファイルに生成する新しいライブラリプロジェクト機能を使用するには、SDKツールr14以降が必要です」という節があります。これは、SDK r14(またはそれ以降)を使用すると引用した提言はもはや存在しないということですか? – uTubeFan

+2

正直言ってわかりません。その表現は、私が下から引用した部分と矛盾しているようですが、それはちょうど貧弱な言い回しにすぎません。 – Sinjo

+0

r14 redid jarをエクスポートできるようにするためにライブラリプロジェクトを処理する方法はありますが、生成されたリソースを保持しながらもそれを実行する方法はまだ分かりません。 – schwiz

関連する問題