Mono for Android - 支持的架构 - 放弃 x86?

9
我们有一个近乎完整的应用程序,正在尝试将其压缩到 Google Play 的 50MB 下载限制以下。在检查 APK 以寻找减小文件大小的方法时,我注意到了描述 此处lib\x86lib\armeabilib\armeabi-v7a 目录。它们对应于 Mono for Android 项目的“支持的架构”选项。如果我删除 x86,我可以节省约 1.1 MB 的 APK 大小。(这几乎足以使我们少于 50MB)。
问题如下:
  • 删除 x86 的缺点是什么?
  • 我的 APK 是否仍然可以在 x86 设备上运行?
  • Google Play 上是否有大量的 x86 设备市场份额?
  • 如果无法在 x86 上运行,Google Play 是否会阻止安装我的 APK?
1个回答

11
请注意,以下答案适用于通用的Android开发,并不涉及任何特定于Mono的内容:
什么是删除x86的缺点?
你的应用程序将无法在x86设备上运行。英特尔可能会感到失望。
我的APK文件仍然可以在x86设备上运行吗?
不可以。
Google Play上针对x86设备有重要市场份额吗?
依我之见,目前没有。少数几款手机在2012年由英特尔提供动力(例如摩托罗拉RAZR i),而第一代Google TV设备使用的是英特尔CPU。但是,Google TV已经转向ARM,需要一些时间才能使英特尔CPU占据Android设备生态系统的重要部分(再次依我之见)。
如果它不能在x86上工作,那么Google Play是否会阻止我的APK在x86设备上安装?
应该会这样做。如果没有,Play商店就存在严重问题。虽然我手头有一个RAZR i,但我并不知道是否有一个使用未提供x86版本的本地代码的应用程序,以查看该应用程序是否确实被过滤出Play商店。
您是否试图压缩下载限制为50MB的Google Play?
如果1.1MB的节省“几乎足以让您的应用程序大小达到50MB以下”,那么您可能已经遇到了麻烦。应用程序往往会随着时间的推移而增长,而不是缩小。如果您希望能够最终切换到其他分发架构(例如使用APK扩展文件)并只需要短期的临时解决方案,则删除x86可能是可以接受的。但是,您确实需要有一个应对应用程序大小增长的计划,以避免超过50MB的限制,您最好现在就解决这个问题,而不是在发布后陷入困境。

谢谢提供的信息,正是我需要了解的。我们刚刚找到了一种方法,可以节省大约10MB的空间,所以现在我可以重新启用x86了。我认为这10MB的差距将使我们的应用程序随着时间的推移保持可用性。 - jonathanpeppers
@jonathanpeppers:哦,是的,10MB是一个相当不错的保留空间,只要你不疯狂地添加新的艺术品、音频剪辑或其他占用了其余40MB空间的东西。 - CommonsWare
这是一篇旧帖子,但我通过谷歌高度排名看到了这个答案,所以我猜其他人也会读到。随着时间的推移,x86将变得更加重要。现在特别如此,因为Chromebook可以运行Android应用程序。而且随着Chromebook的发展,Chrome本身也很可能会支持x86。因此,我认为应该包括x86支持。不确定x86_64是否需要支持。 - Glaucus
@Glaucus:请注意,一些Chrome OS设备使用ARM,而不是所有Chrome OS设备都将获得Android支持。总体而言,Chrome OS设备仅占Android设备生态系统的约1%。此外,许多x86设备支持libhoudini,使它们能够使用ARM NDK二进制文件。话虽如此,如果您通过Play Store(以及其他渠道)进行分发,则使用APK拆分来提供单独的ARM和x86二进制文件是同时具有最佳效果的一种方式:更小的APK和本机x86支持。 - CommonsWare

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接