1

我正在使用 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)。

4

1 回答 1

0

我有同样的问题。从 SourceForge.net 下载的 jmsdn-3.4.1.jar 不是为 Dalvik vm (Android) 编译的。

我解决了从 SourceForge.net 下载源文件并重建 jmdns.jar 以与 Android 项目一起使用的问题。

于 2015-02-09T09:33:27.410 回答