Android 添加 jar 库后,Studio 无法将应用程序安装到设备
Android Studio stuck installing application to Device after add jar library
我正在使用 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 模拟器并创建了几种虚拟机。
Android Studio 将在 api 级别 16 的虚拟机上安装应用程序,但是当尝试在 api 级别 27(8.1) 的虚拟机上安装时,它再次卡住。
截图:
- 我可以生成签名的 apk 并在 phone 上安装。但不能直接从 Android 工作室安装。
更新
将这些行添加到 build.gradle 应用程序模块中,在 android { }:
android {
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'
第二步:将这些行添加到您的 activity:
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 库。
我正在使用 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 模拟器并创建了几种虚拟机。 Android Studio 将在 api 级别 16 的虚拟机上安装应用程序,但是当尝试在 api 级别 27(8.1) 的虚拟机上安装时,它再次卡住。
截图:
- 我可以生成签名的 apk 并在 phone 上安装。但不能直接从 Android 工作室安装。
更新
将这些行添加到 build.gradle 应用程序模块中,在 android { }:
android {
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'
第二步:将这些行添加到您的 activity:
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 库。