0

(Eclipseを介した)Android開発を学ぶときに私を苛立たせ続けていることの1つは、Androidライブラリプロジェクトを参照するAndroidアプリプロジェクトを確実に機能させることです。ライブラリで定義されているクラス参照がないためにアプリプロジェクトがビルドされない場合もあれば、ビルドされた後、ライブラリで定義されているクラスが参照されていると実行時にクラッシュし、エラーリンクが表示される場合もあります。

java.lang.NoClassDefFoundError: com.dave.customviewtestlib.LibTestClass

logcatによって示されます。

Android Developer Tools Build:v21.0.1-543035を使用しています

可能な限り単純なAndroidライブラリプロジェクトを参照する、可能な限り単純なAndroidアプリプロジェクトを使用してワークスペースを作成しました。Eclipseでそれらをどの程度正確に結び付ける必要がありますか?それらは両方ともそれ自体でうまく構築されます。次に、Androidアプリプロジェクトの「Javaビルドパス」を編集します。紛らわしいのは、図書館プロジェクトを参照する方法はたくさんあるようです。ある方法が機能し、その後機能しなくなり、以前は機能しなかった別の方法が機能し始めることがあります。私はすることになっていますか

  1. アプリプロジェクトのJavaビルドパス| プロジェクト、ライブラリプロジェクトの「追加」、または
  2. アプリプロジェクトのJavaビルドパス| ライブラリ、「Add Jar」、およびライブラリのクラスとその他のリソースを含む.jarを指す、または
  3. アプリプロジェクトのJavaビルドパス| ライブラリ、「クラスフォルダの追加」、およびクラスを含むライブラリプロジェクトの「bin」フォルダを指す、または
  4. アプリプロジェクトのJavaビルドパス| ソース、「フォルダの追加」、ライブラリプロジェクトのソースフォルダを指す、または
  5. 他に何かありますか?

また、不思議なJavaビルドパスがあります| [注文とエクスポート]タブ。どういう意味ですか?

また、関連する質問があります。静的ライブラリのようないわゆるAndroidライブラリ(ビルド時に参照するとコードが吸い込まれ、実行時にはアプリバイナリの一部にすぎません)、またはダイナミックライブラリのようなものです(これらはデバイスに個別にインストールできますか)?すべてJavaであり、すべてのクラスが実行時にクラスローダーによってロードされることは理解していますが、それでも重要な違いがあると思います。ほとんどのチュートリアルとリファレンスは非常に唖然としているので、答えを得るのは絶望的です。

どんな助けでも本当に私の苛立ちを最小限に抑えるのに役立ちます:)

4

1 に答える 1

2

パッケージ エクスプローラー ビューで:

ライブラリ プロジェクトを右クリック -> プロジェクトのプロパティ -> android タブ

チェック: ライブラリです。

Android プロジェクトを右クリック -> プロジェクトのプロパティ -> android タブ

「追加」ボタンをクリックし、リストからライブラリ プロジェクトを選択します。

「静的な質問」に答えるために、Android ライブラリ プロジェクトと jar 化されたライブラリの違いは、Android ツールがプロジェクト (生成された R ファイルなど) のリソース (xml) 参照を自動的に修正し、クラスをパッケージ化することです。 .jar ファイルを作成し、それをプロジェクトの apk に追加します。したがって、静的に含まれています。

ビルドパス、注文、エクスポートタブについて。ビルド パスは、.jar ファイル、ワークスペース内の他のプロジェクト、およびプロジェクトへの追加のソース ファイルを追加できる場所です。この順序/エクスポート タブでは、プロジェクトの jar ファイル (または Android プロジェクトの場合は apk) に静的に含めるライブラリ/クラス ファイルを選択します。

于 2013-01-18T21:01:42.503 に答える