1. 程式人生 > >Android實用技巧之adb命令:getprop,setprop,watchprops命令的使用

Android實用技巧之adb命令:getprop,setprop,watchprops命令的使用

getprop

getprop簡介

getprop命令的作用就是從系統的各種配置檔案中讀取一些裝置的資訊。這些檔案在我們的手機裝置中是可以找到的:

init.rc
default.prop
/system/build.prop

查詢所有的配置

輸入命令:

adb shell getprop

就會列出所有的配置資訊:

[aricent_ims_op_status]: [1]
[aricent_ims_type]: [1]
[config.disable_bluetooth]: [false]
[dalvik.vm.dex2oat-Xms]: [64m]
[dalvik.vm.dex2oat-Xmx]
: [512m] [dalvik.vm.dex2oat-filter]: [speed] [dalvik.vm.dexopt-flags]: [m=y] [dalvik.vm.heapgrowthlimit]: [256m] [dalvik.vm.heapsize]: [512m] [dalvik.vm.image-dex2oat-Xms]: [64m] [dalvik.vm.image-dex2oat-Xmx]: [64m] [dalvik.vm.image-dex2oat-filter]: [speed] [dalvik.vm.isa.arm.features]: [div] [dalvik.vm.isa.arm64.features]
: [default] [dalvik.vm.stack-trace-file]: [/data/anr/traces.txt] [debug.force_rtl]: [0] [debug.hwc.force_gpu]: [0] [debug.hwc.winupdate]: [1] [debug.hwui.render_dirty_regions]: [true] [dev.bootcomplete]: [1] [dhcp.wlan0.dns1]: [172.17.16.99] [dhcp.wlan0.dns2]: [172.17.16.98] [dhcp.wlan0.dns3]: [] [dhcp.wlan0.dns4]
: [] [dhcp.wlan0.domain]: [meizu.com] [dhcp.wlan0.gateway]: [172.17.100.1] [dhcp.wlan0.ipaddress]: [172.17.100.29] [dhcp.wlan0.leasetime]: [28800] [dhcp.wlan0.mask]: [255.255.252.0] [dhcp.wlan0.mtu]: [] [dhcp.wlan0.pid]: [7115] [dhcp.wlan0.reason]: [BOUND] [dhcp.wlan0.result]: [ok] [dhcp.wlan0.server]: [1.1.1.2] [dhcp.wlan0.vendorInfo]: [] [drm.service.enabled]: [true] [exynos.modempath]: [/system/vendor/firmware/modem.bin] [exynos.telephony.feature]: [true] [gsm.current.phone-type]: [1,1] [gsm.defaultpdpcontext.active]: [true] [gsm.network.type]: [Unknown,LTE] …… [sys.usb.bicr]: [no] [sys.usb.charging]: [no] [sys.usb.config]: [mtp,adb] [sys.usb.state]: [mtp,adb] [sys.usb.vid]: [2A45] [vold.post_fs_data_done]: [1] [wifi.interface]: [wlan0] [wlan.driver.status]: [ok]

這些配置中以ro開頭的是隻讀屬性。

檢視單個配置資訊

可以在adb shell getprop後面加屬性名稱來輸出單個配置資訊:
命令格式:getprop [key]
比如:

$ adb shell getprop dalvik.vm.heapgrowthlimit
256m

表示程序預設虛擬機器最大堆記憶體。
如果你對某個屬性名稱不是那麼確定的話就用下面的命令來過濾:

$ adb shell getprop | grep dalvik
[dalvik.vm.dex2oat-Xms]: [64m]
[dalvik.vm.dex2oat-Xmx]: [512m]
[dalvik.vm.dex2oat-filter]: [speed]
[dalvik.vm.dexopt-flags]: [m=y]
[dalvik.vm.heapgrowthlimit]: [256m]
[dalvik.vm.heapsize]: [512m]
[dalvik.vm.image-dex2oat-Xms]: [64m]
[dalvik.vm.image-dex2oat-Xmx]: [64m]
[dalvik.vm.image-dex2oat-filter]: [speed]
[dalvik.vm.isa.arm.features]: [div]
[dalvik.vm.isa.arm64.features]: [default]
[dalvik.vm.stack-trace-file]: [/data/anr/traces.txt]
[ro.dalvik.vm.native.bridge]: [0]

setprop

setprop可以對手機一些配置進行設定,當然這些配置必須是可寫的。
命令格式:setprop [key] [value]
如果你想修改程序預設分配的可使用堆記憶體大小:

adb shell setprop dalvik.vm.heapgrowthlimit 512m

watchprops

watchprops命令用來監聽系統屬性的變化,如果期間系統的屬性發生變化則把變化的值顯示出來。

$ adb shell watchprops
1491476973 dalvik.vm.heapgrowthlimit = '512m'
1491476323 init.svc.debuggerd = 'running'
1491476323 init.svc.debuggerd64 = 'running'
1491476323 init.svc.debuggerd = 'restarting'
1491476323 init.svc.debuggerd64 = 'restarting'
1491476980 gsm.operator.alpha = ''
1491476980 gsm.operator.numeric = ''
1491476980 gsm.operator.iso-country = ''
1491476980 gsm.operator.isroaming = 'false,false'

一些引數說明

  • dalvik.vm.heapgrowthlimit:預設給程序分配的可使用堆記憶體
  • dalvik.vm.heapsize:設定了android:largeHeap以後可使用的記憶體大小
  • ro.product.brand:手機品牌
  • ro.product.device:裝置名稱
  • ro.product.model:裝置內部代號
  • ro.product.name:裝置名稱
  • ro.product.manufacturer:裝置製造商
  • ro.serialno:裝置序列號
  • ro.sf.lcd_density:裝置螢幕密度
  • ro.config.ringtone:預設來電鈴聲
  • ro.config.notification_sound:預設通知鈴聲
  • ro.config.alarm_alert:預設鬧鐘鈴聲
  • dalvik.vm.stack-trace-file:trace檔案放置目錄