Skip to content

Instantly share code, notes, and snippets.

@mvsde
Last active September 20, 2024 23:54
Show Gist options
  • Save mvsde/1b5488921d6af22dfe02053739e43522 to your computer and use it in GitHub Desktop.
Save mvsde/1b5488921d6af22dfe02053739e43522 to your computer and use it in GitHub Desktop.
Android Volume Steps

Android Volume Steps

Warning

This is a rather old guide and may or may not work with modern versions of Android.

Connect through ADB

  1. Boot into TWRP
  2. Connect device to computer
  3. Terminal: List devices with adb devices
  4. TWRP: Mount > System

Get and edit props file

  1. Terminal:
# Android <= 9
adb pull /system/build.prop

# Android 10 - 11
adb pull /system/default.prop

# Android >= 12
adb pull /default.prop
  1. Editor: Add the following settings to the pulled file
ro.config.vc_call_vol_steps=14
ro.config.media_vol_steps=30

Push props file

  1. Terminal: Push file back to the device
# Android <= 9
adb push build.prop /system/

# Android 10 - 11
adb push default.prop /system/

# Android >= 12
adb push default.prop /
  1. Terminal: Adjust permissions of the pushed file
adb shell

# Android <= 9
cd /system
chmod 644 build.prop

# Android 10 - 11
cd /system
chmod 644 default.prop

# Android >= 12
cd /
chmod 644 default.prop
@bickbick
Copy link

bickbick commented Apr 27, 2020 via email

@mvsde
Copy link
Author

mvsde commented Apr 27, 2020

Thank you @bickbick for the clarification 👍

@simlu
Copy link

simlu commented Apr 27, 2020

@bickbick On a Pixel 3 with latest Android only /system/build.prop seems to be present. The /system/default.prop file is not present.

@bickbick
Copy link

bickbick commented Apr 27, 2020 via email

@lucidBrot
Copy link

Thanks for the guide! I ended up instead using the Magisk Hide Props Config Module because I already had that anyway. Made it easy to just run props at boot and set the custom values. However, it's creator points out that ro.debuggable can sometimes trigger safetyNet here. Thought that'd be a good addition to this thread.

Sensitive props
Some apps trigger if they find "sensitive props". Also, on some devices SafetyNet triggers if certain props are not set to the expected values. A few props are set to "safe" values by MagiskHide by default. These prop are known to trigger some apps that look for root and "tampered" devices. Currently these are (apart from props for the bootloader state):

ro.debuggable (set to 0 by MagiskHide)
ro.secure (set to 1 by MagiskHide)
ro.build.type (set to user by MagiskHide)
ro.build.tags (set to release-keys by MagiskHide)
ro.build.selinux (set to 0 by MagiskHide)

@bickbick
Copy link

OK, thanks for more info on this subject.
I've got a Samsung A71 now and can't mod the .prop file......sigh. But PowerAmp media player has a way to extend the volume steps without rooting the phone. (I would like to root the phone though, maybe when it's out of warranty!).

@erwinpratama
Copy link

is this works for all android?

@bickbick
Copy link

bickbick commented Jun 19, 2021 via email

@bickbick
Copy link

bickbick commented Jan 17, 2022 via email

@masterewot
Copy link

I want to try it, but is it safe?

@mvsde
Copy link
Author

mvsde commented Oct 16, 2022

I want to try it, but is it safe?

@masterewot I haven’t used this technique in quite a long time. So I can’t say if it’s safe to use or if it still works at all.

@peace20021
Copy link

I want to try it, but is it safe?

@masterewot I haven’t used this technique in quite a long time. So I can’t say if it’s safe to use or if it still works at all.

I just tried it in my LG V20 H910 LineageOS 20, doesn't work at all, guess I will have to go back to magisk extensions.

@mvsde
Copy link
Author

mvsde commented Nov 16, 2023

@peace20021 There are some differences between Android versions regarding which file to edit. So I guess with newer versions that came out since I documented this “trick” things unfortunately changed again.

@xknat
Copy link

xknat commented Jan 30, 2024

for chmod you need to run adb shell chmod
Maybe handy to point out

@calvinrw
Copy link

calvinrw commented Apr 13, 2024

Thanks for sharing this. As a datapoint for others, the following worked for me on LineageOS 21 (a.k.a Android 14) on beckham, after enabling USB debugging and rooted debugging:

adb root
adb pull /system/build.prop

(make edits as described)

adb shell mount -o remount,rw /system
adb push build.prop /system
adb shell chmod 644 /system/build.prop

(reboot the device)

@anaxonda
Copy link

Successfully modified volume steps on LOS20 with one step modified from above:
Instead of
adb shell mount -o remount,rw /system
I used
adb shell su -c "mount -o remount,rw /"

@rpnX
Copy link

rpnX commented Aug 23, 2024

can anyone help make a magisk module with a config file to edit volume steps?

@mi4code
Copy link

mi4code commented Sep 20, 2024

there is already one (but without configs):
https://github.com/wacko1805/Volume-steps-magisk

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment