为了识别Android设备的平台,似乎Java系统属性 "os.arch" 就足够了:
Log.i("mytag", "os.arch: " + System.getProperty("os.arch"));
大多数ARM设备的响应:os.arch: armv7l
x86模拟器的响应:os.arch: i686
对于实际的英特尔和MIPS设备,输出是什么?
x86 Android 设备:??????
mips Android 设备:??????
还有其他平台和变种吗?
Google TV 的编辑:
看起来 Google TV 使用“none”作为 Build 代码。
Vizio Co-Star:os.arch: armv7l,Build.CPU_ABI/Build.CPU_ABI2:none/unknown
Logitech Revue:os.arch: i686,Build.CPU_ABI/Build.CPU_ABI2:none/unknown
澄清意图的编辑:
这里的目标是众包编制一个含有真实设备及其输出的列表。AOSP 代码的预期输出很有趣,但是设备制造商(例如上述旧版 Google TV 设备)可能会偏离提供 AOSP 代码所期望的输出。