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"的套接字
第三个:通过环境变量获取
[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"的套接字
第三个:通过环境变量获取
相关文章推荐
- Linux 关于MCP7940 RTC驱动(MT7620芯片)
- Linux下Apache PHP Mysql默认安装路径
- Linux环境下安装部署AWStats日志分析系统实例
- Android 应用架构概述 (转)
- 基于keystone 项目的Openstack API 学习笔记
- 写hive sql和shell脚本时遇到几个蛋疼的问题!
- Linux 挂载管理
- List Copy
- linux 命令 —— tail
- Linux命令行与命令
- Linux架构
- Linux文件管理
- Windows平台分布式架构实践 - 负载均衡
- nmon和nmon analyser的下载和使用
- linux 命令 —— head
- Linux netstat命令具体解释
- 六:多线程--自定义NSOperation
- 五:多线程--NSOperation基本操作
- 四:多线程--NSOperation简单介绍
- nginx代理