Android Studio застряла при установке приложения на устройство после добавления библиотеки jar

Я устанавливаю клиент SignalR с Android. Я использую Android Studio 3.3 с Gradle v3.0.1.

Я использую две устаревшие библиотеки jal SignalR в проекте. - signalr-client-sdk.jar - signalr-client-sdk-android.jar

Проблема начинается после добавления этих двух jar-зависимостей в проект. После добавления jar libs Android Studio начинает установку приложения на устройство.

Я сделал то же самое в другом проекте на компьютере моего друга, и это работает. Я не знаю, что с этим не так?

=====

ОБНОВИТЬ

Я попробовал с другим устройством... Я установил эмулятор GenyMotion и создал несколько виртуальных машин. Android Studio собирается установить приложение на vm с уровнем API 16, но при попытке установить на vm с уровнем API 27(8.1) оно снова зависло.

Скриншот:

  • Я мог бы сгенерировать подписанный apk и установить на телефон. но не могу установить напрямую из Android студии.

1 ответ

Решение

ОБНОВИТЬ

Добавьте эти строки в ваш 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();

Как вы видите выше, вам не нужно добавлять в проект две устаревшие библиотеки jar signalR.

Другие вопросы по тегам