我正在使用Android设置SignalR客户端。我正在将Android Studio 3.3与Gradle v3.0.1。一起使用。
我在项目中使用了两个SignalR弃用的jar库。 -signalr-client-sdk.jar -signalr-client-sdk-android.jar
将这两个jar依赖项添加到项目后,问题开始。 添加jar库后,Android Studio会在设备上安装应用程序。
我在朋友的PC上的其他项目中做了同样的事情,并且可以正常工作。我不知道这怎么了?
=====
我尝试了另一台设备...我安装了GenyMotion Emulator并创建了几种虚拟机。 Android Studio将在api级别为16的vm上安装该应用程序,但是当尝试在api级别为27(8.1)的vm上安装时,它再次卡住。
答案 0 :(得分:2)
更新
将这些行添加到应用模块的build.gradle:
splits {
abi {
enable true
reset()
include 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'mips', 'mips64', 'arm64-v8a'
universalApk true
}
}
packagingOptions {
exclude 'lib/getLibs.ps1'
exclude 'lib/getLibs.sh'
exclude 'lib/gson-2.2.2.jar'
}
旧答案
尝试以下步骤:
第一步:将此依赖项添加到您的build.gradle:
implementation 'com.microsoft.signalr:signalr:1.0.0'
第二步:将这些行添加到您的活动中:
private final String serverUrl = "put your server url";
private HubConnection hubConnection;
hubConnection = HubConnectionBuilder.create(serverUrl).build();
if (hubConnection.getConnectionState() == HubConnectionState.DISCONNECTED)
hubConnection.start();
if (hubConnection.getConnectionState() == HubConnectionState.CONNECTED)
hubConnection.send("your method name at server", your arguments);
else if (hubConnection.getConnectionState() == HubConnectionState.DISCONNECTED)
hubConnection.start();
如上所示,您不需要在项目中添加两个不赞成使用SignalR的jar库。