我正在使用 jmdns 库来发现网络中其他设备发布的 mDNS 服务广告。我使用的是安卓 4.2。我已经从 jmdns 官方网站下载了演示应用程序,AndroidDnssdDiscoveryEclipse 应用程序正在崩溃。
jmdns = JmDNS.create();
这是日志..
07-25 18:15:57.343: W/dalvikvm(26977): threadid=1: thread exiting with uncaught exception (group=0x41526930)
07-25 18:16:11.703: D/dalvikvm(26977): Debugger has detached; object registry had 480 entries
07-25 18:16:11.703: I/dalvikvm(26977): ignoring registerObject request in thread=1
07-25 18:16:11.703: I/dalvikvm(26977): ignoring registerObject request in thread=1
07-25 18:16:11.726: E/AndroidRuntime(26977): FATAL EXCEPTION: main
07-25 18:16:11.726: E/AndroidRuntime(26977): java.lang.NoClassDefFoundError: javax.jmdns.JmDNS
07-25 18:16:11.726: E/AndroidRuntime(26977): at com.heeere.android.dnssdtuto.DnssdDiscovery.setUp(DnssdDiscovery.java:44)
07-25 18:16:11.726: E/AndroidRuntime(26977): at com.heeere.android.dnssdtuto.DnssdDiscovery.access$0(DnssdDiscovery.java:38)
07-25 18:16:11.726: E/AndroidRuntime(26977): at com.heeere.android.dnssdtuto.DnssdDiscovery$1.run(DnssdDiscovery.java:27)
07-25 18:16:11.726: E/AndroidRuntime(26977): at android.os.Handler.handleCallback(Handler.java:725)
07-25 18:16:11.726: E/AndroidRuntime(26977): at android.os.Handler.dispatchMessage(Handler.java:92)
07-25 18:16:11.726: E/AndroidRuntime(26977): at android.os.Looper.loop(Looper.java:137)
07-25 18:16:11.726: E/AndroidRuntime(26977): at android.app.ActivityThread.main(ActivityThread.java:5061)
07-25 18:16:11.726: E/AndroidRuntime(26977): at java.lang.reflect.Method.invokeNative(Native Method)
07-25 18:16:11.726: E/AndroidRuntime(26977): at java.lang.reflect.Method.invoke(Method.java:511)
07-25 18:16:11.726: E/AndroidRuntime(26977): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:833)
07-25 18:16:11.726: E/AndroidRuntime(26977): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:600)
07-25 18:16:11.726: E/AndroidRuntime(26977): at dalvik.system.NativeStart.main(Native Method)
07-25 18:16:11.796: D/dalvikvm(26977): GC_CONCURRENT freed 237K, 13% free 2560K/2932K, paused 5ms+9ms, total 80ms
07-25 18:21:11.921: I/Process(26977): Sending signal. PID: 26977 SIG: 9
在这里(jmdns.jar 不适用于 android 4.0 或更高版本),提到 jmdns.jar 不适用于 Android 4.0 或更高版本,但我在我的设备上使用了 ZeroConf Browser(使用 jmdns)并且运行良好。
在调试应用程序时,我发现我的应用程序找不到 jmdns.jar 文件。我没有对 jmdns.jar 文件做任何事情 接受我已经从应用程序目录中删除了原始 jmdns.jar 文件(1kb),取而代之的是我已经放置了下载时附带的 jmdns.jar 文件(200kb)。