잘하면 내 문제가 너무 바보하지만 다음과 같은 문제가 있어요 ... 포함되지 도서관 JmDNS
내 프로젝트에. 경우 나의 프로젝트는 ... 이런 JmDNS를 처리 할 수 안드로이드 예외 : 나는 항아리를 가져있어</p> <p>: 'java.lang.NoClassDefFoundError가 javax.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
편집 여기에 설명 된대로 JmDNS 안드로이드에 추가로 문제가 될 것으로 보인다
: http://home.heeere.com/tech-androidjmdns.html 내가 그 가이드 다음 시도했습니다 JmDNS JAR 파일을 "재 jaring"하기위한 것이지만 여전히 동일한 문제가 있습니다. 그것으로 잘 작동하지 않는 것 같습니다.
Eclipse에서 빌드 경로에 .jar를 추가했다고 가정합니다. – Kerry
이해가 잘못되었습니다. "NoClassDefFoundError"를 검색하십시오. –
@Kerubu 그렇습니다. jmDNS jar를 포함하는 jar가 클래스 경로에 추가됩니다. 나 또한 JAR을 직접 만들고 jmDNS jar 파일을 클래스 경로에 추가하려고 시도했다. jmDNS jar 파일을 jar 파일에서 제거하고 수동으로 추가하려고 시도했지만 jar (jmDNS 중 하나) 오류가 발생한다.)가 두 번 추가됩니다. – Aidanc