(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ビルドパス」を編集します。紛らわしいのは、図書館プロジェクトを参照する方法はたくさんあるようです。ある方法が機能し、その後機能しなくなり、以前は機能しなかった別の方法が機能し始めることがあります。私はすることになっていますか
- アプリプロジェクトのJavaビルドパス| プロジェクト、ライブラリプロジェクトの「追加」、または
- アプリプロジェクトのJavaビルドパス| ライブラリ、「Add Jar」、およびライブラリのクラスとその他のリソースを含む.jarを指す、または
- アプリプロジェクトのJavaビルドパス| ライブラリ、「クラスフォルダの追加」、およびクラスを含むライブラリプロジェクトの「bin」フォルダを指す、または
- アプリプロジェクトのJavaビルドパス| ソース、「フォルダの追加」、ライブラリプロジェクトのソースフォルダを指す、または
- 他に何かありますか?
また、不思議なJavaビルドパスがあります| [注文とエクスポート]タブ。どういう意味ですか?
また、関連する質問があります。静的ライブラリのようないわゆるAndroidライブラリ(ビルド時に参照するとコードが吸い込まれ、実行時にはアプリバイナリの一部にすぎません)、またはダイナミックライブラリのようなものです(これらはデバイスに個別にインストールできますか)?すべてJavaであり、すべてのクラスが実行時にクラスローダーによってロードされることは理解していますが、それでも重要な違いがあると思います。ほとんどのチュートリアルとリファレンスは非常に唖然としているので、答えを得るのは絶望的です。
どんな助けでも本当に私の苛立ちを最小限に抑えるのに役立ちます:)