我有一个要为armeabi-v7a,arm64-v8a和x86构建的NDK项目。在电话上运行代码可以正常工作,但是尝试在x86模拟器上运行会正确构建,但是会出现以下错误:The currently selected variant "debug" uses split APKs, but none of the 1 split apks are compatible with the current device with density "560" and ABIs "x86".
最初,我尝试通过在build.gradle中执行以下操作来避免使用拆分apk:
splits {
// Configures multiple APKs based on screen density.
density {
// Configures multiple APKs based on screen density.
enable false
}
// Configures multiple APKs based on ABI
abi {
// Enables building multiple APKs per ABI.
enable true
// By default all ABIs are included, so use reset() and include to specify that we only
// want APKs for armeabi-v7a, arm64-v8a, and x86
// Resets the list of ABIs that Gradle should create APKs for to none.
reset()
// Specifies a list of ABIs that Gradle should create APKs for.
include 'armeabi-v7a', 'arm64-v8a', 'x86'
// Specifies that we do not want to also generate a universal APK that includes all ABIs.
universalApk true
}
}
但是重新读取错误后,它说没有1个拆分的APK。只有1个APK生成且不兼容,因此我猜生成的是错误的APK?我可以使用哪些工具进行更深入的研究?
最佳答案
你这样尝试
include 'x86', 'armeabi-v7a', 'armeabi'
并尝试设置
universalApk false
关于android - 没有与Android模拟器兼容的拆分APK,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48529521/