2

私は、既に構築した Java インスタント メッセージング アプリケーションを補完するために、Android 用の asmack から始めています。しばらくして、サーバーの場所を特定する際に ClassNotFound Exceptions とエラーが発生しました (アドレスとポートが正しいにもかかわらず)、静的クラスを初期化するために推奨された SmackAndroid 呼び出しについて読みました。次のようにコーディングしました。

Context context = getApplicationContext();
SmackAndroid asmk = SmackAndroid.init(context);

XMPP 接続が確立される前にこれらのコード行をアプリケーションに追加しましたが、まったく解決できない新しいエラーが発生します。

java.lang.RuntimeException: Unable to start activity ComponentInfo{cit.jordan.portablechatter/cit.jordan.portablechatter.MainActivity}: java.lang.IllegalStateException: Could not init static class blocks

ここにあるAndroid 17用のasmack 0.8.2 jarを使用しています:http://asmack.freakempire.de/

4

2 に答える 2

0

InitStaticCode.java:48で例外がスローされ、別のユーザーから同様の報告を受けました。ほとんどのユーザーでは機能するのに、少数のユーザーで機能するのはなぜなのか、いつも疑問に思っています。

InitStaticCode.java:34getClass()の呼び出しを削除して、機能するかどうかを確認できます。aSmack を自分で変更して構築することができない場合の別のアイデアは、パラメータとして使用しているコンテキストのタイプを変更することです: orを試してみてください。たぶんこれが役立ちます。getApplicationContext()getBaseContext

これをaSmack の問題 #33として入力しました。たぶん、今週末にそれを修正する時間を見つけます。

于 2013-04-10T09:33:52.857 に答える