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

一、 配置文件

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

[html] view plaincopy
  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 plaincopy
  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 plaincopy
  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的指令

如:现在执行一个  ls -l 的命令
try {
Process process = Runtime.getRuntime().exec("ls -l");
InputStreamReader ir = new InputStreamReader(process.getInputStream());
BufferedReader input = new BufferedReader(ir);
String string = null;
while((string = input.readLine()) != null){
Log.i("DDD",string);

}

} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
这就和adb 或者linux环境下手动执行 ls -l是一样的效果了。


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

[java] view plaincopy
  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 plaincopy
  1. Process process =Runtime.getRuntime().exec("getprop ro.runtime.firstboot");  
  2. InputStreamReader ir = newInputStreamReader(process.getInputStream());  
  3. BufferedReader input = newBufferedReader(ir);  

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