您的位置:首页 > 运维架构

android getprop指令获得系统信息

2016-01-04 09:17 323 查看
通过"adb shell"进入android命令行,敲:"getprop",会打印出很多的系统信息(如下):
[gsm.sim.operator.alpha]: [神州行]
[gsm.sim.operator.iso-country]: [cn]
[gsm.current.phone-type]: [1]
[gsm.operator.alpha]: [CHINA  MOBILE]
[wifi.interface]: [mlan0]
[dalvik.vm.heapsize]: [32m]
...
当然,你也可以敲:"getprop gsm.sim.operator.iso-country",输出的就是"cn"了。
这是获取系统信息的一个重要渠道。android提供了一些api,可以方便的实现系统信息访问。
在adb中以property_get函数体现。
在android源码$(ANDROID_SRC)/system/core/libcutils/properties.c中实现的。
其中根据编译条件不同,有3个实现int property_get(const char *key, char *value, const char *default_value)
第一个:通过__system_property_get获取;
    该函数实现在:$(ANDROID_SRC)/bionic/libc/bionic/system_properties.c中,
    可以看出__system_property_get是在android的libc中的。
    其实质是访问了__system_property_area__的内存地址,该地址上的内容是init进程维护的。
第二个:通过与文件描述符gPropFd交互;
    gPropFd来自文件为"/tmp/android-sysprop"的套接字
第三个:通过环境变量获取
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: