adb 获取Android系统属性
最近跟着Camera项目,学习了一些调试技巧,于是记录下来,做成随笔。
在Android系统中,根文件系统下有个/system/build.prop配置文件,我们先看看它里面是什么内容,可以通过在cmd通过adb shell cat /system/build.prop命令查看:
#IMPORT REGIONALIZATION VENDOR PROP PATH FIRST IN ORDER TO CUSTOMIZE ro.* P
import /persist/speccfg/vendor_ro.prop
# begin build properties
# autogenerated by buildinfo.sh ro.build.id=OPM1.171019.026
ro.build.display.id=******
ro.build.display.wtid=******
ro.build.version.incremental=******
ro.build.version.sdk=27
ro.build.version.preview_sdk=0
ro.build.version.codename=REL
ro.build.version.all_codenames=REL
ro.build.version.release=8.1.0
ro.build.version.security_patch=2019-01-01
......略
该build.prop中存放的数据是以等号形式存放的,并且是键值对成对出现的。
接下来,我们使用//获取系统属性:adb shell getprop 命令,获取内容如下:
......
[persist.backup.ntpServer]: ["0.pool.ntp.org"]
[persist.bt.a2dp.aac_disable]: [true]
[persist.camera.cam.list]: [61968]
[persist.camera.debug.logfile]: [0]
[persist.camera.gyro.disable]: [0]
[persist.camera.preview.ubwc]: [0]
[persist.chg.max_volt_mv]: [9000]
[persist.cne.feature]: [1]
[persist.data.df.agg.dl_pkt]: [10]
[persist.data.df.agg.dl_size]: [4096]
[persist.data.df.dev_name]: [rmnet_usb0]
[persist.data.df.dl_mode]: [5]
[persist.data.df.iwlan_mux]: [9]
......
因此,getprop就是将配置文件里的信息读取出来并经过整理后,并以字典的形式展示给用户的。
由于是为了查看Camera的属性,可以使用过滤,adb shell getprop |find "camera":
[camera.aux.packagelist]: [org.codeaurora.snapcam]
[camera.aux.packagelist2]: [com.codeaurora.snapcam]
[init.svc.camera-provider-2-4]: [running]
[init.svc.cameraserver]: [running]
[persist.camera.cam.list]: [61968]
[persist.camera.debug.logfile]: [0]
[persist.camera.gyro.disable]: [0]
[persist.camera.preview.ubwc]: [0]
[ro.boottime.camera-provider-2-4]: [8931466349]
[ro.boottime.cameraserver]: [11924072390]
[vendor.camera.aux.packagelist]: [com.codeaurora.snapcam]
然后就可以通过setprop [key] [value] 设置指定key的属性值。
总结:主要是使用命令getprop获取,setprop设置。
PS:由于刚接触Camera这方面,许多知识都还在摸索中,有什么不正确的地方,希望大家不吝赐教,一起学习,共同进步。
网友评论