Android 我如何知道要选择什么目标体系结构?

Android 我如何知道要选择什么目标体系结构?,android,xamarin,xamarin.android,cpu-architecture,Android,Xamarin,Xamarin.android,Cpu Architecture,我正在构建我的Xamarin.Android项目,我选择了AOT编译,这使我的.apk膨胀到165mb 为了减小.apk的大小,我正在查看目标体系结构,目前我的目标是: armeabi、armeabi-v7、x86、arm64-v8a 但我不知道这些架构如何与现代设备相对应 我读过,上面写着: Android的发布版本默认为armeabi-v7a。这 设置提供了比armeabi更好的性能。如果你 如果目标是64位ARM平台(如Nexus 9),请选择 arm64-v8a。如果要将应用程序部署到x

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

为了减小.apk的大小,我正在查看目标体系结构,目前我的目标是:

armeabi、armeabi-v7、x86、arm64-v8a

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

我读过,上面写着:

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

因此,我是否需要针对armeabi和armeabi-v7


现代安卓平板电脑和手机的架构应该是什么?

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

尽管谷歌建议使用单一APK,但情况并非总是如此:

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


我找到了一个列表,从这个链接可以看出
armeabi-v7
是在2012年推出的,所以
armeabi
必须用于2012年之前的设备。我已经为其他人添加了这些链接。如果我错了,请纠正我。我最终得到了
armeabi-v7
arm64-v8a
即使如此,我仍然是99mb,因此需要调查您发布的链接我依赖于您。。。假设您排除x86,则您的应用程序将不会显示给使用基于英特尔设备的用户(华硕、宏碁、惠普、联想、戴尔等。Android平板电脑使用英特尔Atoms)。目前使用的ABI的设备编号明细是多少?谷歌不发布这一统计数据,他们只在仪表板上发布API级别的统计数据。就我个人而言,我处理的大多数客户端都为每个ABI发布单独的APK,因此每个APK对于Xamarin应用程序来说是最小的。如果您手动执行,这将为构建/发布过程添加更多工作。。。。。。。。排除
arm64-v8a
和更新的Nexus将使用
armeabi-v7a
,但运行速度会稍慢,等等。。。为单个应用程序Id发布单独的APK:@SushiHangover我办公室里有一个Nexus 9,所以我将尝试排除
arm64-v8a
,看看会发生什么。我目前正在使用
VSTS
和发布我的应用程序。我认为他们不允许你为不同的ABI上传多个apk,这很烦人。我刚刚意识到我办公室里有一个联想标签。如果不勾选x86,这可能不起作用,联想现在确实有一些基于ARM的平板电脑,但大多数都是基于Atom的。。。从长远来看,从单个APK中排除ABI将减少您的潜在用户群,同样,您的选择基于应用程序及其目标市场,我拥有的唯一未发布所有ABI的真实客户是针对专用设备(即集成条形码设备、销售点设备等)的客户