我为两种不同的架构使用了两种不同的风格,因为我有非常大的 native 库,而我想要更小的二进制文件。
当我点击“运行”图标时,Android Studio 始终构建并部署我们产品的“Arm”风格。如果我在 x86 模拟器上运行它,它会失败,因为它没有 x86 的库。
有人知道如何说服 Android Studio 为特定模拟器部署正确的版本吗?
最佳答案
尝试在 build.gradle 中使用 abiFilter
属性。
This post解释了如何在不同的架构中使用原生库:
在为每个架构构建一个 APK,并且做得很好!一章中说:
通过使用 abiFilter
属性,使用 flavors 可以非常轻松地为每个架构构建一个 APK。
尝试将此添加到您的gradle.build:
android{
...
productFlavors {
x86 {
ndk {
abiFilter "x86"
}
}
mips {
ndk {
abiFilter "mips"
}
}
armv7 {
ndk {
abiFilter "armeabi-v7a"
}
}
arm {
ndk {
abiFilter "armeabi"
}
}
fat
}
}
您可能只需要 arm
和 x86
。
在此之后,使用gradle文件同步项目
Tools > Android > Sync Project with Gradle Files
现在您应该能够在构建变体之间切换,并且应该按架构生成一个 APK。
选择左下角的Build Variants
。您应该能够在 Build Variant 下拉列表中的不同架构之间切换。
希望这对您有所帮助。
关于安卓工作室 : How to run a single test on x86,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26682462/