jsoup を参照する NoClassDefFoundError が発生し続けます。libs ディレクトリに jar がありますが、Android マニフェスト ファイルに jar ファイルへの参照がありません。これが問題でしょうか?
3 に答える
Androidプロジェクトに外部jarを追加するには、次の投稿を参照してください。
NetbeansのAndroidプロジェクトへの外部JARの追加
android:外部JARファイルをandroidに追加する
この投稿のように:私がこれまでに行った手順は次のとおりです。
1)Androidクラスにアクセスできるようにandroid.jarを含めてライブラリプロジェクトを作成します(ライブラリはandroid.util.Logおよびその他のAndroidクラスを使用します)。
2)ライブラリをjarとしてコンパイルします。
3)ライブラリのjarをAndroidアプリケーションに追加します(プロジェクトノードの下の[ライブラリ]を右クリックして、jarを追加します)。
jsoup は外部 jar ですよね?この jar をプロジェクトに追加しましたか?[ビルド パス] -> [ビルド パスの構成] -> [ライブラリの選択] タブ -> [外部 Jar の追加] を選択します。jsoup を libs ディレクトリに配置します。それを外部jarとして追加します。質問を誤解した場合は申し訳ありません。
Jon Simonがこのブログ投稿に書いているように:
NBAndroid Netbeansプラグインで気付いた非常に厄介な問題は、外部JARファイルをAndroidプロジェクトに適切に添付する方法がわからないことです。(プロジェクトフォルダーの下の)ライブラリを右クリックし、[JAR /フォルダーの追加]をクリックすると、そのライブラリ/ JARファイルへの参照が追加され、コードで認識されます(すべてのクラスを検出するなど)。 )。問題は、プロジェクトをコンパイルしようとしたときに発生します。その時点では、実際にはJARがプロジェクトに追加されないため、実行時にエラーが発生します。
実際、これに対する解決策を見つけるのにかなりの時間がかかりましたが、それは厄介なものでした。これを修正するには、build.xmlファイル(プロジェクトフォルダの下にありますが、NetBeans環境では非表示になっています)を開く必要があります。ファイルエクスプローラー(MacのFinder :-))を開き、プロジェクトフォルダーに移動してそこから開く必要がありました。インポートファイルタグの下に次のビットを追加します。
<target name="-pre-jar"> <copy todir="${build.classes.dir}"> <fileset dir="/path/to/your/jar/directory" /> </copy> </target>
したがって、JARが/home/bla/myjars/lala.jarにある場合、パスは「/ home / bla/myjars」である必要があります。
今、それを再コンパイルしてみてください、そしてそれはうまくいくはずです。