按照标题,我需要什么硬件才能运行各种版本的Android?

#1 楼

从Android兼容性页面开始。这概述了Android兼容性的目标,并链接到具有技术要求的当前兼容性定义文档。迄今为止的所有CDD版本都在下面。

Android 11
Android 10

Android 9.0“ Pie”

Android 8.0和Android 8.1“ Oreo”

Android 7.0和Android 7.1“牛轧糖”

Android 6.0“棉花糖”

Android 5.0和Android 5.1“ Lollipop”

Android 4.4“ KitKat”

Android 4.3,Android 4.2和Android 4.1“果冻豆”

Android 4.0“冰淇淋三明治”
/>无法使用Android 3.0“ Honeycomb”(因为它不是公开的开源版本)

Android 2.3“姜饼”

Android 2.2“ Froyo”
>
Android 2.1“ Eclair”

Android 1.6“ Doughnut”

这些也从“ Android兼容性下载”页面链接到该页面,其中还包括测试套件。

没有适用于较旧版本的Android的兼容程序,例如Android 1.5(在开发中称为Cupcake)。打算与Android兼容的新设备必须随附Android 1.6或更高版本。

值得注意的地方:

Android的最低最低要求最初是200 MHz处理器,32 MB RAM和32 MB的存储空间。
现成的Android与ARMv4或更低版本不兼容;运行未经修改的本机代码需要ARMv5或更高版本。
Android 4.4+需要ARMv7处理器。但是,已经为ARMv6制作了自定义版本。

要使设备获得“ Google批准”并随Play商店和Google Talk等官方Google应用一起提供,必须满足这些文档中的要求。但是,它们不一定是硬性要求。由于Android是开源的,因此可以对其进行修改以使其在较少的硬件上运行,并且也可能相反。例如,在设备上运行OS所必需的修改可能会使固件映像太大而无法容纳在设备上。 br />

评论


几个月前,对它进行了编辑,以声明只有Android 4.4+需要ARMv7处理器,而之前它称Android 4+。此更改的背景是什么?事实是默认情况下4.0不支持ARMv5,但可以对其进行修改(根据groups.google.com/d/msg/android-building/Q_gU1zb6DLc/…将javascript引擎从V8切换到JSC)在ARMv5上,后来被删除(在4.4中)?

–mstorsjo
16年7月10日在18:43

@mstorsjo所做的更改是基于(自清理以来)的注释,该注释指出4.0 CDD并未提及v7的要求,但4.4却是如此。

–马修·雷德(Matthew Read)
16年7月10日在20:14

@MatthewRead谢谢。但是,与此同时,有关支持ARMv6的自定义版本的注释可能以一种无意的方式更改了含义:在4.0-4.3中,默认情况下不支持ARMv6,但是可以修改源代码来为其构建,这是已知的ARMv6版本-但实际上是否还有4.4以上版本的已知版本?

–mstorsjo
16年7月10日在20:36

可悲的是,没有实际的硬件要求清单。例如,我找不到最小的x86 cpu指令集的列表,例如SSE2,SSSE3,SSE4.1等。arm64硬件也有同样的问题。我找不到最小的cpu扩展名,例如asimd,crc,aes,sha等。而且Android的构建系统已损坏,因此无法使用编译时功能测试来确定。叹...

– jww
19年4月29日在16:35



#2 楼

以下是有关RAM内存要求的简单回答。根据上述文档,从“ Lollipop”(Android 5.0)到Android 11的所有版本至少需要416 MB内存。如果默认显示器使用“高达qHD的帧缓冲区分辨率(例如FWVGA)”,则为true。更高的分辨率需要更多的内存。
对于Android 7.1。 “牛轧糖”及更早版本的512MB或更少RAM的手持设备必须将ActivityManager#isLowRamDevice设置为true。 [1]
从Android 8.0“ Oreo”开始,必须为RAM小于或等于1GB的手持设备设置此标志。 [2]

[1]-Android 7.1 CDD; §7.6.1最小内存和存储;第3段

[2]-Android 8.0 CDD; §2.2.1手持式要求,硬件;要求[7.6.1 / H-0-2]