希望我的問題是不是太傻,但我有以下問題......Android的異常:「java.lang.NoClassDefFoundError:javax.jmdns.JmDNS」
我輸入一個罐子含有將圖書館JmDNS
納入我的項目。我的項目設置來處理這樣JmDNS ...
setUp();
try {
peer = new PublicPeer("Aidan",6666,6667,this);
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
private void setUp(){
android.net.wifi.WifiManager wifi =
(android.net.wifi.WifiManager)
getSystemService(android.content.Context.WIFI_SERVICE);
lock = wifi.createMulticastLock("Lock");
lock.setReferenceCounted(true);
lock.acquire();
}
其中lock = android.net.wifi.WifiManager.MulticastLock lock;
和PublicPeer peer;
當執行到peer = new PublicPeer("Aidan",6666,6667,this);
以下錯誤輸出...
11-13 13:12:47.644: W/dalvikvm(204): threadid=3: thread exiting with uncaught exception (group=0x4001b188)
11-13 13:12:47.644: E/AndroidRuntime(204): Uncaught handler: thread main exiting due to uncaught exception
11-13 13:12:47.664: E/AndroidRuntime(204): java.lang.NoClassDefFoundError: javax.jmdns.JmDNS
11-13 13:12:47.664: E/AndroidRuntime(204): at com.daniel.business.publicchat.PeerAdvertiser.<init>(PeerAdvertiser.java:36)
11-13 13:12:47.664: E/AndroidRuntime(204): at com.daniel.business.publicchat.PublicPeer.<init>(PublicPeer.java:60)
11-13 13:12:47.664: E/AndroidRuntime(204): at com.chatr.org.PublicChat.onCreate(PublicChat.java:21)
11-13 13:12:47.664: E/AndroidRuntime(204): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1047)
11-13 13:12:47.664: E/AndroidRuntime(204): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2459)
11-13 13:12:47.664: E/AndroidRuntime(204): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2512)
11-13 13:12:47.664: E/AndroidRuntime(204): at android.app.ActivityThread.access$2200(ActivityThread.java:119)
11-13 13:12:47.664: E/AndroidRuntime(204): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1863)
11-13 13:12:47.664: E/AndroidRuntime(204): at android.os.Handler.dispatchMessage(Handler.java:99)
11-13 13:12:47.664: E/AndroidRuntime(204): at android.os.Looper.loop(Looper.java:123)
11-13 13:12:47.664: E/AndroidRuntime(204): at android.app.ActivityThread.main(ActivityThread.java:4363)
11-13 13:12:47.664: E/AndroidRuntime(204): at java.lang.reflect.Method.invokeNative(Native Method)
11-13 13:12:47.664: E/AndroidRuntime(204): at java.lang.reflect.Method.invoke(Method.java:521)
11-13 13:12:47.664: E/AndroidRuntime(204): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:860)
11-13 13:12:47.664: E/AndroidRuntime(204): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:618)
11-13 13:12:47.664: E/AndroidRuntime(204): at dalvik.system.NativeStart.main(Native Method)
如果我的理解上面是正確的,它有問題找到我的JmDNS庫,但是,它被添加。我100%確定它。其中我進口JAR的代碼可以在這裏找到:https://github.com/Ps2Fino/DSProject-Backend
編輯
這似乎是被添加到Android JmDNS一個問題,因爲這裏記載:http://home.heeere.com/tech-androidjmdns.html我已經嘗試下面該指南爲了「重新」JmDNS JAR文件,但我仍然有同樣的問題。它似乎並沒有很好地運作。
我假設你已經將.jar添加到Eclipse的構建路徑中了嗎? – Kerry
你的理解是不正確的。搜索「NoClassDefFoundError」。 –
@Kerubu是的,我是。包含jmDNS jar的jar被添加到類路徑中。我也試圖自己製作JAR,並將其添加到jmDNS jar的類路徑中,並試圖從正在添加的jar中手動添加jmDNS jar,但是引發了一個錯誤,聲明jar(jmDNS是一個)正在被添加兩次。 – Aidanc