为了识别 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 对构建代码使用了“无”。
Vizio 联合主演:os.arch:armv7l,Build.CPU_ABI/Build.CPU_ABI2:无/未知
罗技 Revue:os.arch:i686,Build.CPU_ABI/Build.CPU_ABI2:无/未知
编辑以澄清意图:
这里的目标是将真实设备列表的编译及其输出众包。AOSP 代码的预期输出很有趣,但设备制造商(如上面的旧 Google TV 设备)可能会偏离提供 AOSP 代码的预期输出。