【发布时间】:2015-12-06 22:44:57
【问题描述】:
我在我的项目中使用了 signalR 库。但我无法自己编译 https://github.com/SignalR/java-client 的库 - 我在互联网上找到了它们。但是好像没有满(缺少WebsocketTransport)
当我编译 https://github.com/SignalR/java-client 时,我得到两个库,并将它们粘贴到我的 app.gradle -
compile files ('libs/signalr-client-sdk.jar')
compile files ('libs/signalr-client-sdk-android.jar')
Progets 构建很糟糕,但是当我按下运行时 - 它失败了。 这是堆栈跟踪 -
UNEXPECTED TOP-LEVEL EXCEPTION:
com.android.dx.cf.iface.ParseException: bad class file magic (cafebabe) or version (0034.0000)
at com.android.dx.cf.direct.DirectClassFile.parse0(DirectClassFile.java:472)
at com.android.dx.cf.direct.DirectClassFile.parse(DirectClassFile.java:406)
at com.android.dx.cf.direct.DirectClassFile.parseToInterfacesIfNecessary(DirectClassFile.java:388)
at com.android.dx.cf.direct.DirectClassFile.getMagic(DirectClassFile.java:251)
at com.android.dx.command.dexer.Main.processClass(Main.java:704)
at com.android.dx.command.dexer.Main.processFileBytes(Main.java:673)
at com.android.dx.command.dexer.Main.access$300(Main.java:83)
at com.android.dx.command.dexer.Main$1.processFileBytes(Main.java:602)
at com.android.dx.cf.direct.ClassPathOpener.processArchive(ClassPathOpener.java:284)
at com.android.dx.cf.direct.ClassPathOpener.processOne(ClassPathOpener.java:166)
at com.android.dx.cf.direct.ClassPathOpener.process(ClassPathOpener.java:144)
at com.android.dx.command.dexer.Main.processOne(Main.java:632)
at com.android.dx.command.dexer.Main.processAllFiles(Main.java:510)
at com.android.dx.command.dexer.Main.runMonoDex(Main.java:280)
at com.android.dx.command.dexer.Main.run(Main.java:246)
at com.android.dx.command.dexer.Main.main(Main.java:215)
at com.android.dx.command.Main.main(Main.java:106)
...while parsing microsoft/aspnet/signalr/client/Action.class
1 个错误;中止 错误:任务 ':app:preDexDebug' 执行失败。
com.android.ide.common.process.ProcessException: org.gradle.process.internal.ExecException: Process 'command 'C:\Program Files\Java\jdk1.8.0_45\bin\java.exe'' 完成非零退出值 1
我不知道该怎么办。我什至尝试编译这个项目的分支,但得到了相同的结果,同样的错误。需要任何帮助,谢谢!
更新
在我的应用程序类中我有
Platform.loadPlatformComponent(new AndroidPlatformComponent());
在我的 app.gradle 中:
compile files ('libs/gson-2.2.2.jar')
compile files ('libs/signalr-client-sdk.jar')
compile files ('libs/signalr-client-sdk-android.jar')
在我的代码中我使用
connection.start(new ServerSentEventsTransport(connection.getLogger())).get();
我还在这个连接上创建了很多集线器,没有调用方法。一切正常,但连接总是消失,如果我对设备不做任何事情超过 30 秒。而且我没有任何关于连接丢失\断开连接或类似情况的回调 - 我记录了所有这些东西。但我认为这可能会发生,因为我有相当旧的库,我用谷歌搜索 - 正如我在这个问题中提到的那样,我没有设法构建 signalR 项目来接收更新的库
【问题讨论】:
-
@BNK,你到底需要什么代码? gradle 文件?
-
在 Android 项目中如何调用/使用 SignalR 的代码。
-
@BNK ,更新答案
-
看看我的回答:)
标签: android signalr signalr.client