共通の Android ライブラリ (jar) を作成したいので、Eclipse で Android ライブラリ プロジェクトを作成します。このプロジェクトには、Android ライブラリ プロジェクトの参照ライブラリで指定されている他のオープン ソース ライブラリ (jar) が含まれています。メインの jar ファイルは bin オプションで生成されます。しかし、bin オプションで jar ファイルを他の Android アプリケーションに使用すると、参照ライブラリ オプションが機能しません。参照ライブラリのメソッドは jar ファイルに含まれていません。どのように作成できますか? Eclipse Androidの参照ライブラリを含むjarファイル??
2 に答える
最初にライブラリ プロジェクトをライブラリとして宣言します。プロジェクトを右クリック -> [プロパティ] -> [Android] -> 下部にある [Is Library] をマークします。
このプロジェクトのビルド パスには、サード パーティの jar が含まれている必要があります ([プロパティ] -> [ビルド パス] -> [Jar の追加] / [外部 Jar])。
このライブラリと jar を別のプロジェクトで使用するには、bin の下で直接 jar を使用しないでください。プロジェクトのプロパティ -> Android -> 右下の [追加] をクリックし、ライブラリ プロジェクトを選択して、このプロジェクトをライブラリ プロジェクトとして使用する必要があります。これにより (最新の ADT プラグインを使用している場合)、ライブラリ プロジェクトと外部 jar の両方を保持する依存関係がプロジェクトに作成されます。
同様の問題があり、私のアプリはmavenを使用して依存関係を管理していました。次のテクニックを使用して解決しました
Android プロジェクトを作成し、ライブラリ プロジェクトとしてマークします。
m2 eclipse プラグインを使用し、Project -> 右クリック -> Configure -> Convert to maven project を使用してプロジェクトを maven に変換します。
Project -> 右クリック -> Maven -> Add dependency を使用して、このプロジェクトに依存関係を追加します。
必要な依存関係がビルド パスの一部であり、ビルド パス設定の [注文とエクスポート] パネルで利用できることを確認します。
他の android プロジェクトでライブラリ プロジェクトを使用します。
Android がサードパーティのクラスを取得するかどうかを確認するために使用できるハックの 1 つは、ターゲット プロジェクトで同じパッケージ名の重複したクラスを作成することです。たとえば、org.apache.Logger を使用する場合は、Android アプリで別の org.apache.Logger を作成します。重複が原因で apk を作成できないと Android が訴える場合は、正しい方向に進んでいます。
java.lang.IllegalArgumentException: すでに追加されています: Lcom.your.class.name
参考文献:
http://developer.android.com/tools/projects/index.html#LibraryProjects
Java Eclipse Android 初心者向けの質問 - ライブラリまたはリンク フォルダーを追加する方法。初心者の参考文献
http://developer.android.com/tools/projects/projects-eclipse.html