Change android system property

To change the a property temporarily:

You can use the command “setprop <key> <value>”, from the device shell or from command shell on the pc execute “adb shell setprop <key> <value>”, where key is the property name and the value is the value you would like to assign to it. To get the list of all properties you can use “getprop”.

The command “setprop” may not be usable by an unprivileged user, so you may need to execute “su” or “adb root” before. To check if there was an effect from “setprop” you can call “getprop <key>”, where the key is the name of the property you are trying to change.

For the changes to take effect you will need to restart the Android runtime(zygote process) you can do that by “adb shell stop; adb shell start”.

Read only properties(name starting with ro.) cannot be changed using setprop even if root.

There is a “setpropex” binary by xda member goroh_kun that can do that: http://t.co/mMtzylU7

To persist a change  of property after reboot:

You need to modify the file where the property is located and initialized from.

The places where you can find properties are (listed by the way they overwrite each other):

  • /default.prop (has to be edited from the boot image as it gets overwritten when the kernel reboots)
  • /system/build.prop
  • /data/local.prop

You can change those by:

  • using some file explorer app which uses root
  • “adb pull” and “adb push”, having thta you have write permission for those files or you run adb as root
  • using update script and update it with CWM