他のAndroidプロジェクトに含めることができるjarに1つのAndroidプロジェクトをビルドするにはどうすればよいですか?Eclipseを使用してAndroidプロジェクトをjarにエクスポートし、そのjarを他のAndroidプロジェクトに使用すると、「R」ファイルとリソースファイルにエラーが発生します。</ p>
3 に答える
Androidリソースファイル(R.javaファイルで表される)をJarsに入れることはできません。そのため、ActionBarSherlockなどのライブラリは、単純なJarではなく、ライブラリプロジェクトとして開く必要があります。
Android ライブラリ プロジェクトを jar にビルドできますが、ライブラリ プロジェクト内では R クラスを使用しないようにする必要があります。R クラスの代わりに、リフレクションを使用してリソースをロードできます。
たとえば、strings.xml ファイルから文字列をロードする必要がある場合
int id = context.getResources().getIdentifier("string_name", "string", context.getPackageName());
String value = context.getString(id);
しかし、これは彼らが getIdentifier メソッドについて言及したことです:
Note: use of this function is discouraged. It is much more efficient to retrieve resources by identifier than by name.
Android プロジェクトを jar ファイルにビルドできますが、リソース ファイルは使用しません。B'coz 実行時にアプリケーションでその jar ファイルを使用しようとすると、 Resource not Found 例外が発生します。
そのため、jar ファイルの作成中は res、gen、Manifest などのチェックを外してください。ライブラリ プロジェクトで Base Activity クラス、Base Interface、Database Manager、GPS Manager を定義し、それをアプリケーションで使用すると、確実に機能します。
以下のスクリーンショットをご覧ください。
ありがとう