我正在构建我的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平板电脑和手机定位哪些构架?
我取决于你...说你排除86,那么你的应用程序将不会显示为有基于英特尔芯片的设备(华硕,宏碁,惠普,联想,戴尔等用户。Android平板电脑使用Intel Atoms)。目前正在使用的ABI的设备编号分类是什么? Google不会发布此统计信息,他们只会在其仪表板上发布API级统计信息。我个人处理的大多数客户都会为每个ABI发布不同的APK,因此每个APK对于Xamarin应用程序来说都是最小的。如果你正在手动完成这项工作,这会为你的构建/发布过程增加更多的工作.... – SushiHangover
....排除'arm64-v8a'和更新的Nexus将使用'armeabi-v7a',但运行速度会慢一点等。 ..为单个App ID发布单独的APK:https://developer.android.com/google/play/publishing/multiple-apks.html – SushiHangover
@SushiHangover我在办公室里有一个Nexus 9,所以我会尝试排除'arm64 -v8a'看看会发生什么。我目前使用'VSTS'和[Google play extension](https://marketplace.visualstudio.com/items?itemName=ms-vsclient.google-play)发布我的应用。我不认为他们允许你为不同的ABI上传多个apk,这很烦人 – user1