我遇到了导入我项目的第三方库的问题。
我阅读了很多关于此的文章,但没有得到任何有关如何正确处理它的信息。
我将我的课程.so放到文件夹中。
问题是我尝试运行我收到的应用程序
[INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
答案 0 :(得分:56)
2018年3月25日星期日:
我在 Android Studio 3.0.1 :
中遇到了这个问题检查了大量帖子后,修复有效:
转到模块 build.gradle ,然后在 Android 块中添加此脚本:
splits {
abi {
enable true
reset()
include 'x86', 'armeabi-v7a', 'x86_64'
universalApk true
}
}
简单的解决方案。随意评论。感谢。
答案 1 :(得分:9)
2018年9月13日 添加更多类型并将 universalApk 设置为 false 以重新使用apk大小
splits {
abi {
enable true
reset()
include 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'mips', 'mips64', 'arm64-v8a'
universalApk false
}
}
答案 2 :(得分:4)
我在模拟器中遇到了同样的问题,但我解决了这个问题:
使用x86_64系统映像(ABI)创建新的模拟器
就是这样。
此错误表示系统(设备)无法运行该应用程序。
我希望这对某人有帮助。
答案 3 :(得分:4)
如果在处理flutter项目时遇到此错误,则可以在模块build.gradle
中和Android block
中然后在defaultConfig
块中添加以下代码。当我尝试进行快速的APK构建时,发生了此错误。
android{
...
defaultConfig{
...
//Add this ndk block of code to your build.gradle
ndk {
abiFilters 'armeabi-v7a', 'x86', 'armeabi'
}
}
}
答案 4 :(得分:3)
一段时间后,我调查并了解路径位于我的libs是对的。我只需要为不同的架构添加文件夹:
ARM EABI v7a系统映像
Intel x86 Atom System Image
MIPS系统图像
Google API
答案 5 :(得分:3)
我的应用程序在Nexus 5X API 26 x86(模拟器上的虚拟设备)上运行,没有任何错误,然后我包含了第三方AAR。然后它不断给出这个错误。我清理,重建,检查/取消选中即时运行选项,擦除AVD中的数据,执行冷启动但问题仍然存在。然后我尝试了找到aliased in a particular file to a shorter name的解决方案。他/她说添加分裂& abi阻止'x86','armeabi-v7a'进入模块build.gradle文件和hallelujah它又干净又新鲜:)
编辑:关于这个here Driss Bounouar的解决方案似乎是一样的。但是在添加新的AAR和HAXM模拟器之前,我的模拟器是x86。
答案 6 :(得分:3)
flutter clean
确实对我有用
答案 7 :(得分:1)
这是由gradle对某些过时的东西的依赖导致的,该东西会导致错误。删除gradle依赖项,直到错误不再出现。对我来说是
implementation 'org.apache.directory.studio:org.apache.commons.io:2.4'
此行需要更新为新版本,例如:
api group: 'commons-io', name: 'commons-io', version: '2.6'
答案 8 :(得分:1)
Android 9和Android 11仿真器支持arm二进制文件。
在使用API级别29的x86模拟器时,尝试安装apk定位臂ABI时遇到相同的问题。
我尝试使用API级别30的x86模拟器,并且运行良好。
答案 9 :(得分:0)
使用cmake构建时面临此问题的任何人,解决方案是确保在应用模块的android {}块中包含了四个受支持的平台:
externalNativeBuild {
cmake {
cppFlags "-std=c++14"
abiFilters "arm64-v8a", "x86", "armeabi-v7a", "x86_64"
}
}
答案 10 :(得分:0)
进行拆分取决于与外部版本相同的abis列表。真理的唯一来源。
android {
// ...
defaultConfig {
// ...
externalNativeBuild {
cmake {
cppFlags "-std=c++17"
abiFilters 'x86', 'armeabi-v7a', 'x86_64'
}
}
} //defaultConfig
splits {
abi {
enable true
reset()
include defaultConfig.externalNativeBuild.getCmake().getAbiFilters().toListString()
universalApk true
}
}
} //android