首页 > 技术文章 > Android getprop setprop watchprops用法

lialong1st 2018-12-25 11:33 原文

转载请注明出处:https://www.cnblogs.com/lialong1st/p/10172973.html

 

在安卓系统中,当你写了一个脚本,已经添加到开机启动 init.rc 中,即使脚本中添加了打印(例如:echo 或 printf),但是不知道在哪里看打印,想要判断脚本是否启动,就需要 getprop

 

getprop

getprop 指令就是输出一些系统初始化配置文件中的各种属性值,属性值来自下面几个文件。

$ adb shell
root@android:/ # ls init.rc
init.rc
root@android:/ # ls default.prop
default.prop
root@android:/ # ls /system/build.prop
/system/build.prop

用法:getprop [key]

可以带参数查看指定的属性,也可以不带参数查看所有属性

1、通过 getprop 查看所有属性,lte_reconnect 就是添加的开机启动的脚本名称

$ adb shell
root@android:/ # getprop
getprop
... ...
[init.svc.lte_reconnect]: [running]
... ...
[ro.sf.lcd_density]: [160]
... ...

2、通过脚本名称或者关键字查找属性(假如脚本名称为 lte_reconnect)

root@android:/ # getprop |grep lte
getprop |grep lte
[init.svc.lte_reconnect]: [running]
[telephony.lteOnCdmaDevice]: [0]

3、通过已知的关键字产看属性

root@android:/ # getprop init.svc.lte_reconnect
getprop init.svc.lte_reconnect
running

 

setprop

setprop 设置指定关键字的属性值,但是以 ro 开头的是只读属性,不能设置。

用法:setprop [key] [value]

root@android:/ # getprop init.svc.lte_reconnect
getprop init.svc.lte_reconnect
running
root@android:/ # setprop init.svc.lte_reconnect stopped
setprop init.svc.lte_reconnect stopped
root@android:/ # getprop init.svc.lte_reconnect
getprop init.svc.lte_reconnect
stopped

 

watchprops

监听系统属性的变化,如果监听期间有属性变化就显示出来

// 启动监控,然后在另一个命令行中输入 setprop init.svc.lte_reconnect running
root@android:/ # watchprops
watchprops
1293973316 init.svc.lte_reconnect = 'running'
1293973324 init.svc.ril-daemon = 'stopping'
1293973324 init.svc.ril-daemon = 'stopped'
1293973324 init.svc.ril-daemon = 'running'
1293973324 telephony.lteOnCdmaDevice = '0'

 

推荐阅读