0

我正在使用 Android 设置 SignalR 客户端。我正在使用带有 Gradle v3.0.1 的 Android Studio 3.3。

我在项目中使用了两个 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 上安装时,它又卡住了。

截屏 : 在此处输入图像描述

  • 我可以生成签名的 apk 并安装在手机上。但不能直接从 Android Studio 安装。
4

1 回答 1

2

更新

将这些行添加到 app 模块的 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 库。

于 2019-05-21T10:32:48.773 回答