如何识别CyanogenMod在板上?

我从http://developer.android.com/reference/android/os/Build.html检查了很多字段。 但是我无法清楚地获得特定设备使用CyanogenMod的信息。 这就是我得到的:
NETWORK_TYPE="0"
SDK_INT="10"
CODENAME="REL"
INCREMENTAL="eng.android.20110308.014205"
RELEASE="2.3.3"
SDK="10"
Build.BOARD=bravo
BOOTLOADER=0.93.0001
BRAND=htc_wwe
CPU_ABI=armeabi-v7a
CPU_ABI2=armeabi
DEVICE=bravo
DISPLAY=GRI40
FINGERPRINT=htc_wwe/htc_bravo/bravo/bravo:2.2/FRF91/226611:user/release-keys
HARDWARE=bravo
HOST=giulio-desktop
ID=FRF91
MANUFACTURER=HTC
MODEL=HTC Desire
PRODUCT=htc_bravo
RADIO=unknown
TAGS=release-keys
TIME=0
TYPE=userdebug
USER=android
NETWORK_TYPE="0"
SDK_INT="10"
CODENAME="REL"
INCREMENTAL="eng.shade.20110307.195429"
RELEASE="2.3.3"
SDK="10"
Build.BOARD=mahimahi
BOOTLOADER=0.35.0017
BRAND=google
CPU_ABI=armeabi-v7a
CPU_ABI2=armeabi
DEVICE=passion
DISPLAY=GRI40
FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys
HARDWARE=mahimahi
HOST=toxygene
ID=GRI40
MANUFACTURER=HTC
MODEL=Nexus One
PRODUCT=passion
RADIO=unknown
TAGS=test-keys
TIME=0
TYPE=user
USER=shade
    
已邀请:
PackageManager.hasSystemFeature("com.cyanogenmod.android")
会更加一致。     
从系统属性中读取它要容易得多:
String version = System.getProperty("os.version");
if (version.contains("cyanogenmod")) {
    isCyanogenMode = true;
}
在我的设备上,
os.version
2.6.37.6-cyanogenmod-01509-g8913be8
或者,您也可以依赖Build.USER常量,该常量带有组装构建的人员的名称。对于CyanogenMod,这通常是“阴影”(Steve Kondik又名Cyanogen的另一个昵称)。 还有一个特殊属性
ro.modversion
,但据我所知,您需要访问SystemProperties内部类才能以编程方式读取它。     
在我的设备上
System.getProperty("os.version")
就像是
3.0.64-CM-g9d16c8a
。检查版本号中的
cyanogenmod
不再起作用。我在这篇文章中添加了更多细节。     
我找到的最简单的方法是读取文件/ proc / version,其中包含有关内核版本的信息。 带有cyanogenmod的手机有类似的东西:
Linux version 2.6.37.2-cyanogenmod-01149-g8cdf03e
读取此文件不需要root权限(runnung
uname -r
)。     
内核被最终用户一直交换出来,因此使用System.getProperty(“os.version”)或从/ proc / version读取并不是设备是否正在运行cyanogenmod的良好指标。让我重新说一下,仅使用那些作为指标并不是一个好主意。您需要使用多种方法。正如@kakopappa在他的另一篇文章中指出的那样,他读取了os.version和/ proc / version,你也应该检查一下
android.os.Build.HOST
根据我的经验,其中包含cyanogenmod 9次中的10次。为了安全起见,你也想要使用其他方法,因为可以通过build.prop - > ro.build.host更改HOST变量     

要回复问题请先登录注册