问:当我在android中使用signalr客户端sdk时,但未在android oreo(anroid 8.0)中安装应用程序,并且发生错误,例如“安装失败,并提示消息无法完成会话:INSTALL_FAILED_NO_MATCHING_ABIS:无法提取本机库,res = -113。” 。
我的gradle代码如下。
android {
编译版本26
defaultConfig {
applicationId“ com.myapplication.testapp”
minSdkVersion 17
targetSdkVersion 26
版本代码1
versionName“ 1.0”
testInstrumentationRunner“ android.support.test.runner.AndroidJUnitRunner”
}
buildTypes {
释放 {
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
}
}
}
依赖项{
编译fileTree(dir:'libs',包括:['* .jar'])
实施'com.android.support:appcompat-v7:26.1.0'
实施'com.android.support.constraint:constraint-layout:1.0.2'
实现'com.android.support:design:26.1.0'
testImplementation'junit:junit:4.12'
androidTestImplementation'com.android.support.test:runner:1.0.1'
androidTestImplementation'com.android.support.test.espresso:espresso-core:3.0.1'
编译文件('libs / gson-2.2.2.jar')
编译文件('libs / signalr-client-sdk.jar')
编译文件('libs / signalr-client-sdk-android.jar')
}
相同的应用程序在anroid 6.0中工作正常。
答:首先,用在此链接中可以找到的文件替换SignalR SDK的官方文件:https://github.com/eak65/FixedSignalRJar
执行此操作后,请编辑应用程序的“ build.gradle”文件,在“ buildTypes”块之后的“ android”块中添加以下代码:
splits {
abi {
enable true
reset()
include'x86','armeabi-v7a'UniversalApk
true
}
}
PackagingOptions {
exclude'lib / getLibs.ps1 '
排除'lib / getLibs.sh'
排除'lib / gson-2.2.2.jar'
}
经过很多努力,以上解决方案对我有帮助!希望对您有帮助!