18

Mac に Java インストールの更新を許可したところ、古い jar の一部 (javax.mailや など) が実行時に「クラスが見つかりません」というapache.commons.httpclient例外をスローしています。

つまり、これらは問題なくコンパイルされますが、実行時にクラッシュし、次のような例外が発生します。

E/dalvikvm(2414): Could not find class 'javax.mail.internet.InternetAddress', referenced from method com.my.project.Main.isValidEmailAddress

これらのクラスを持つ jar の最新バージョンを取得する必要がありますか? または、以前のバージョンの Java に戻す必要がありますか?

それとも、これはJavaの更新に関係していると私が推測している、まったく無関係の問題ですか(まったくの偶然で、更新前はすべて完全に機能していました)

4

3 に答える 3

75

次のような例外で実行時にクラッシュします。 Could not find class 'javax.mail.internet.InternetAddress', referenced from method com.my.project.Main.isValidEmailAddress

外部 jar に問題がある場合は、次のようにします。

  1. という名前のフォルダーを作成しますlibs
  2. 必要なすべての外部 jar ファイルをコピーしてそのフォルダーに貼り付けます。

このページで説明されているように、自動的に含まれます: Android プロジェクトでの依存関係の処理

于 2012-04-06T17:08:34.980 に答える
2

同じことが私にも起こりましたが、私のフォルダには「libs」引数ではなく「lib」というラベルが付けられていました。今回の更新は少しラフでした...プロジェクト設定から外部jarを削除し、フォルダーをlibsに変更した後に修正されました

于 2012-05-20T04:43:03.163 に答える
1

の名前を変更してもうまくいかない場合は、libこれlibsを試しください。

于 2012-11-27T06:49:50.760 に答える