用java语句调用getprop和setprop命令来获得prop中的数据

关键词:android  linux  getprop  setprop  wathcprop 

系统:android2.3 android4.0

一、 配置文件

在android系统中,有一些初始化的配置文件,例如:

[html]  view plain copy
  1. /init.rc  
  2. /default.prop  
  3. /system/build.prop  

文件里面里面配置了开机设置的系统属性值,这些属性值,可以通过getprop获取,setprop设置,如下图:


二、getprop stopprop watchprop 使用和它的格式

1、getprop[key]

获取指定key的配置值,如果不带参数,只是getprop则是显示系统所有的配置值,输入命令,如下图:

#getprop


2、setprop[key] [value] 设置指定key的属性值

如:setprop

3、getprop setprop 使用实例

[html]  view plain copy
  1. root@android:/ # getpropdhcp.wlan0.leasetime   //得到的值为3600  
  2. 3600  
  3. root@android:/ # setprop dhcp.wlan0.leasetime3000  //设定值为3000  
  4. root@android:/ # getprop  
  5. [dhcp.wlan0.ipaddress]: [192.168.1.113]  
  6. [dhcp.wlan0.leasetime]:[3000]                    //再用getporp查看设定的值  
  7. [dhcp.wlan0.mask]: [255.255.255.0]  


4、watchprops

监听系统属性的变化,如果期间系统的属性发生变化则把变化的值显示出来

[html]  view plain copy
  1. /system # watchprops  
  2. 1307501833 sys.settings_system_version = '37'  
  3. 1307501836 sys.settings_system_version ='38'  
  4. 1307501862 persist.sys.timezone ='Asia/Hong_Kong'  

三、toolbox子命令

1、命令实现代码位置

其实这三个命令都是toolbox的子命令,如果有兴趣的可以看在android源码中看到其对应的源码:

system/core/toolbox/

一般而言,我们在串口中输入getprop指令,会出现很多类似键值对的系统变量值,如下图:


2、java中调用linux的指令

(1)、在java中如何调用linux的指令,主要通过如下代码实现:

[java]  view plain copy
  1. Process process =Runtime.getRuntime().exec(com);  
  2. InputStreamReader ir = newInputStreamReader(process.getInputStream());  
  3. BufferedReader input = newBufferedReader(ir);  
(2)、getprop和setprop既然都是命令,也用上面的方面尝试得到值

  getprop 用法:getprop [key]

  setprop用法:setprop [key] [value]

  注:实际中是没有中括号的。

所以用法同上:

[java]  view plain copy
  1. Process process =Runtime.getRuntime().exec("getprop ro.runtime.firstboot");  
  2. InputStreamReader ir = newInputStreamReader(process.getInputStream());  
  3. BufferedReader input = newBufferedReader(ir);  

http://hi.baidu.com/gongting14/item/eaf28a177d93d8c438cb306a

你可能感兴趣的:(用java语句调用getprop和setprop命令来获得prop中的数据)