Eclipse Android プロジェクトにライブラリ/JAR を追加する 質問する

Eclipse Android プロジェクトにライブラリ/JAR を追加する 質問する

これは、Eclipse で Android プロジェクトにサードパーティ ライブラリ (JAR) を追加する方法に関する 2 部構成の質問です。

質問の最初の部分は、サードパーティのJAR(ライブラリ)をAndroidプロジェクトに追加しようとすると、まず次のような問題が発生するということです。

XML 解析エラー: プレフィックスがバインドされていません

その JAR のクラスを使用しようとしているためです (プレフィックスを何らかの方法で定義する必要があります)。何が起こっているのでしょうか?

2 番目に、(それを修正した後、答えは以下にあります)、アプリケーションが Android 上で動作せず、デバッガー (LogCat) を介して、使用しようとしているクラスが存在しないことがわかりました。

原因: java.lang.ClassNotFoundException: com.github.droidfu.widgets.WebImageView...

Eclipse ではコンパイル エラーもリンカー エラーも発生しないのに、エミュレータではなぜこの問題が発生するのでしょうか?

これら 2 つの質問は修辞的なものなので、以下で私自身が回答します。このフォーラムの他の投稿ではこの問題に触れており、他の場所では議論が行われていますが、私は次に来る人のためにもっと明確に役立つことができると感じています。

ベストアンサー1

さて、欠落しているクラスの問題です。

私は Eclipse Java EE 開発者であり、長年にわたり、ビルド パスの「ユーザー ライブラリ」メカニズムを使用してサードパーティ ライブラリを追加してきました。もちろん、サードパーティ ライブラリを追加する方法は少なくとも 3 つありますが、私の意見では、私が使用している方法が最もエレガントです。

ただし、これは Android では機能しません。Android の Dalvik "JVM" は、通常の Java コンパイル クラスを処理できず、特別な形式に変換する必要があります。これは、私が通常行う方法でライブラリを追加した場合には発生しません。

代わりに、サードパーティ ライブラリをインポートするための (広く利用可能な) 手順に従ってください。次に、ビルド パスを使用してそれを追加します (これにより、コンパイルのために Eclipse に認識されます)。手順は次のとおりです。

  1. ライブラリをホスト開発システムにダウンロードします。
  2. 新しいフォルダを作成し、ライブラリEclipse/Android プロジェクトで、
  3. 右クリックライブラリ次に、[インポート] -> [一般] -> [ファイル システム] を選択し、[次へ] をクリックして、ファイル システム内を参照してライブラリの親ディレクトリ (つまり、ダウンロードした場所) を見つけます。
  4. [OK] をクリックし、左側のペインでディレクトリ名 (チェックボックスではありません) をクリックして、右側のペインで関連する JAR をチェックします。これにより、ライブラリがプロジェクトに (物理的に) 配置されます。
  5. プロジェクトを右クリックして、「ビルドパス」->「ビルドパスの構成」を選択し、「ライブラリ」タブをクリックして、「JARの追加...」をクリックし、新しいJARに移動します。ライブラリディレクトリに追加します。(ちなみに、これは新しい JAR が Android で使用できるように変換される瞬間です。)

注記

ライブラリがすでにビルド パスに含まれている場合、手順 5 は必要ない可能性があります。追加する前に、まずライブラリが存在することを確認してください。

ここで行った操作によって、次の 2 つのことが達成されます。

  1. Android プロジェクトに Dalvik に変換された JAR を含めます。
  2. プロジェクトのソース コードを開発 (つまりコンパイル) するときにサード パーティのクラスを見つけるために、Java 定義を Eclipse で使用できるようにします。

おすすめ記事