在Android开发中,为了确保应用能够在不同硬件架构的设备上运行,开发者需要考虑应用对不同CPU架构的支持。本文将介绍如何为Android应用添加多架构支持,并详细说明如何将这些应用发布到Google Play Store。
Android系统支持多种CPU架构,包括但不限于armeabi、armeabi-v7a、x86、mips、arm64-v8a、mips64和x86_64。开发者可以通过在APK的lib/
使用Visual Studio 2015创建的Android项目默认情况下可能只支持特定的架构。例如,C#(Xamarin)或Visual C++项目生成的APK可能只包含特定CPU的.so文件。为了支持所有架构,开发者需要在项目属性中进行相应的设置。
在调试模式下,所有架构的.so文件默认都会被包含在APK中。然而,在发布模式下,默认情况下只有armeabi架构的库会被集成。为了改变这一设置,开发者需要在应用属性的“Android选项”下的“高级”部分勾选所有想要支持的架构。
Visual C++项目默认支持ARM(armeabi-v7a)和x86两个目标。但是,构建x86或ARM目标时生成的APK只包含x86或ARM的.so文件。为了解决这个问题,开发者可以通过添加自定义的ant规则来让Visual Studio 2015为ARM和x86生成具有不同版本代码的APK。
为了在Play Store上发布支持不同架构的多个APK,开发者需要遵循一定的规则。版本代码必须不同,并且按照一定的顺序排列,以确保Play Store能够根据设备兼容性分发最合适的APK。
版本代码的排列顺序应该是:x86_64 > arm64-v8a > mips64 > x86 > mips > armeabi-v7a > armeabi。这是因为Play Store会优先分发与设备兼容的、版本代码最高的APK。
开发者需要前往Play Store的APK上传页面,并在需要时点击“切换到高级模式”。然后,上传具有不同ABI支持和版本代码的APK。这些APK应该在APK管理屏幕上显示,包括它们的差异和版本代码的摘要。