我如何知道要选择哪些目标架构?

时间:2017-08-02 15:40:05

标签: android xamarin xamarin.android cpu-architecture

我正在构建我的Xamarin.Android项目,我选择了AOT编译,这使我的.apk膨胀到165mb。

为了降低我的.apk大小,我正在查看目标架构,目前我的目标是:

  

armeabi,armeabi-v7,x86,arm64-v8a

但我不知道这些架构如何与现代设备相对应。

我已阅读Android CPU Architectures,并说:

  

Xamarin.Android默认使用版本构建的armeabi-v7a。这个   设置提供了比armeabi更好的性能。如果你   目标是64位ARM平台(如Nexus 9),选择   arm64-V8A。如果要将应用程序部署到x86设备,请选择x86。   如果目标x86设备使用64位CPU架构,请选择   x86_64的。

因此,我需要定位armeabi和armeabi-v7吗?

我应该针对现代Android平板电脑和手机进行什么样的目标?

1 个答案:

答案 0 :(得分:4)

armeabi适用于较旧的设备,因为大多数较新的设备都会运行armeabi-v7。其次,64位设备可以回退到其他ABI。如果你担心大小,那么你最好的选择就是创建多个apks:

https://developer.xamarin.com/guides/android/application_fundamentals/cpu_architectures/#Targeting_Multiple_Platforms

虽然Google建议使用单个APK,但情况并非总是如此:

  

虽然我们鼓励您开发和发布支持尽可能多的设备配置的单个APK,但有时这样做是不可能的。为了帮助您为尽可能多的设备发布应用程序,Google Play允许您在同一应用程序列表下发布多个APK。然后,Google Play会根据您在每个APK的清单文件中声明的配置支持,将每个APK提供给相应的设备。

https://developer.android.com/google/play/publishing/multiple-apks.html