这个问题可能是多余的,也可能是重复的,但我使用的是仅在ARM设备上运行的NDK库。就像我在Android平台版本上的统计信息一样,有没有办法可以知道我的应用程序可以基于CPU架构支持多少百分比的Android设备?

#1 楼

由于最终您将确定x86是否仍然值得花费精力来支持,因此我在这里列出了有关Android设备x86的一些事实:用于手机/平板电脑。
最新一代的手持式Atom – x3,x5和x7系列–最多只能安装在低端的中国Android平板电脑上。有些具有电话/数据功能(基于x3-C3230RK)。无论如何,没人能将其用于主流设备,特别是手机。
最后一款广受欢迎的x86 Android设备是2015年3月发布的华硕Zenfone 2-甚至其后续版本也转移到了高通的Snapdragon 410/615,部分原因是
展讯与英特尔建立了合作伙伴关系,并于2017年3月宣布了SC9861G-IA / 2017年8月发布了SC9853I。但是,在消费类设备上尚未实现鉴于展讯专注于新兴市场的低端设备,这种SoC可能不会给Android上的x86带来太大的意义。现在正在预售中。 Leagoo是一家位于中国的小型公司,该设备主要针对印度,更不用说同时出售具有传统SoC的同一设备(T5)的另一种变体,因此它不会改变上述假设它将不受欢迎。

评论


从本质上讲,这意味着没有很多不是基于ARM的设备。因此,我认为我的应用程序将支持大量的Android设备。谢谢!

– sri
17年11月14日在9:36

@iBug同样在这里(我实际上拥有2个,出售了em之一)。驱动程序问题有时使Windows难以使用,更不用说Android了。

–安迪(Andy Yan)
17年11月14日在9:51

@AndyYan驱动程序问题?如果禁用WU中的驱动程序自动更新,则没有问题

– iBug
17年11月14日在10:28

@iBug Nah-某些驱动程序(如触摸屏和显示器)偶尔会出现故障,需要重新安装。不是由自动驱动程序更新引起的。

–安迪(Andy Yan)
17年11月14日在10:42

OTOH,您可能需要x86支持和其他调整才能在Chromebook上运行该应用程序。

– Alex Cohn
18年4月12日在8:46



#2 楼

经过大量搜索后,我得出了这个结论。
Unity Stats中的有用信息。


ARMv7:98.1%


英特尔x86:1.7%


但是我不满意,所以我从很多资源中对其进行了验证。
根据Android文档。

armeabi在r16。在r17中删除。没有硬浮动。



从历史上看,NDK支持32位和64位MIPS,但是在NDK r17中删除了支持。
经过大量搜索后的总结

mips(不推荐使用)
mips64(不推荐使用)
armeabi(不推荐使用)
armeabi-v7a(必填-最受欢迎的体系结构如今)
arm64-v8a(必需-Armeabi-v7a的较新版本)
x86(可选,设备数量非常有限,例如Asus Zenfone 2,Genymotion / Android仿真器)
x86_64(可选,设备数量非常有限,例如Asus Zenfone 2,Genymotion / Android模拟器)

我还应该提到ChromeBook使用的是基于Intel处理器x86x86_64的架构。 (仅在支持ChromeBook时添加这些架构)
结论
如果您的应用支持armeabi-v7aarm64-v8a架构,因为它们拥有大约99%的Android设备。
重要建议
,您担心吗?关于应用程式大小(您应该),您应该将APK分成多个abi。 Android Studio和Play商店支持上传多个apk,因此该应用只有1个架构ndk文件。
因此,构建多个apk会非常有效。
重要链接

是ABI管理和CPU体系结构
Unity Stats CPU VENDORS
Android硬件上的Unity Stats
拆分apk指南
查找设备abi
最大的移动数据库


#3 楼

从Google Play控制台(至少支持Android 4.1和横向屏幕):


x86:287个设备

arm64-v8a:3136个设备

armeabi-v7a:11716个设备



评论


您如何在Google Developer Console上找到此信息的?我找不到有关设备架构的报告。

– Saqib
20年7月9日在22:42