#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 />
#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]
评论
几个月前,对它进行了编辑,以声明只有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