FORUMS

Which OEM Would You Like to Help?

Most manufacturers have moments of greatness and moments of decadence, and in the past few years … more

Root T-Mobile S6/Edge on 5.1.1 Without Tripping Knox

If you purchase phones from a carrier, you may be no stranger to the difficulties … more

IonVR Coming Soon, HTC M9 Dev Edition Gets Android 5.1 – XDA TV

The HTC M9 Developer Edition has received Android 5.1. That and … more

Android 5.1.1 Omni ROM For Motorola Xoom

Back in Feb 2011, the Motorola Xoom became the first device to be sold with Android 3.0 … more

[Guide] demystifying build.prop [Valid entries]

53 posts
Thanks Meter: 242
 
Post Reply Subscribe to Thread Email Thread
Tired of see so many "tweaks" that do not work, I decided to dig deeper.
Scavenging the entire Android source, I checked entries which are actually valid.


Note 1: Ignored the build.prop entries created by buildinfo.sh (default entries)

Note 2: I'll update/upgrade the topic gradually.

I accept all help, suggestions, observations, comments and so on.

Entries that DO NOT exist in the source:
(Again: I scaveged all Android source code)
  • ro.ril.disable.power.collapse
  • ro.mot.eri.losalert.delay
  • ro.config.hw_fast_dormancy
  • ro.config.hw_power_saving
  • windowsmgr.max_events_per_sec
  • persist.cust.tel.eons
  • ro.max.fling_velocity
  • ro.min.fling_velocity
  • ro.kernel.checkjni
  • dalvik.vm.verify-bytecode
  • debug.performance.tuning
  • video.accelerate.hw
  • ro.media.dec.jpeg.memcap
  • ro.config.nocheckin
  • profiler.force_disable_ulog
  • profiler.force_disable_err_rpt
  • ersist.sys.shutdown.mode
  • ro.HOME_APP_ADJ

Notes:

dalvik.vm.verify-bytecode
  • Previous version of the runtime supported the boolean
    dalvik.vm.verify-bytecode property, but that has been
    superceded by dalvik.vm.dexopt-flags.

ro.kernel.checkjni
  • The correct entry is ro.kernel.android.checkjni

ro.HOME_APP_ADJ
  • The interaction with this is been removed.
  • From google:
    This is a process holding the home application -- we want to try
    avoiding killing it, even if it would normally be in the background,
    because the user interacts with it so much.

All ro.media.enc* entries
  • A more elegant alternative would be to edit /system/etc/media_profiles.xml

Valid entries on CyanogenMod and AOSP:

dalvik.vm.checkjni and ro.kernel.android.checkjni
platform_frameworks_base/core/jni/AndroidRuntime.cpp (480:489/466:475)

Code:
property_get("dalvik.vm.checkjni", propBuf, "");
    if (strcmp(propBuf, "true") == 0) {
        checkJni = true;
    } else if (strcmp(propBuf, "false") != 0) {
        /* property is neither true nor false; fall back on kernel parameter */
        property_get("ro.kernel.android.checkjni", propBuf, "");
        if (propBuf[0] == '1') {
            checkJni = true;
        }
    }
wifi.supplicant_scan_interval
android_external_wpa_supplicant/wpa_supplicant.c (2459:2460)

Code:
if (property_get("wifi.supplicant_scan_interval", scan_prop, "5") != 0) {
    wpa_s->scan_interval = (int)strtol(scan_prop, &endp, 0);
service.adb.tcp.port
platform_system_core/adb/adb.c (1366:1372/1350:1356)

Code:
// If one of these properties is set, also listen on that port
// If one of the properties isn't set and we couldn't listen on usb,
// listen on the default port.
property_get("service.adb.tcp.port", value, "");
if (!value[0]) {
    property_get("persist.adb.tcp.port", value, "");
}
ro.sf.lcd_density and qemu.sf.lcd_density
platform_frameworks_base/core/java/android/util/DisplayMetrics.java (286:294)

Code:
private static int getDeviceDensity() {
        // qemu.sf.lcd_density can be used to override ro.sf.lcd_density
        // when running in the emulator, allowing for dynamic configurations.
        // The reason for this is that ro.sf.lcd_density is write-once and is
        // set by the init process when it parses build.prop before anything else.
        return SystemProperties.getInt("qemu.sf.lcd_density",
                SystemProperties.getInt("ro.sf.lcd_density", DENSITY_DEFAULT));
    }
}
debug.sf.nobootanimation

platform_frameworks_base/cmds/bootanimation/bootanimation_main.cpp (45:49)
Code:
  char value[PROPERTY_VALUE_MAX];
    property_get("debug.sf.nobootanimation", value, "0");
    int noBootAnimation = atoi(value);
    ALOGI_IF(noBootAnimation, "boot animation disabled");
persist.adb.notify

Cyanogen: android_frameworks_base/services/java/com/android/server/usb/UsbDeviceManager.java (747:753)
Code:
 if (mAdbEnabled && mConnected) {
                if ("0".equals(SystemProperties.get("persist.adb.notify"))
                 || Settings.Secure.getInt(mContext.getContentResolver(),
                    Settings.Secure.ADB_NOTIFY, 1) == 0)
                    return;
AOSP: android_frameworks_base/services/java/com/android/server/usb/UsbDeviceManager.java (714:715)
Code:
            if (mAdbEnabled && mConnected) {
                if ("0".equals(SystemProperties.get("persist.adb.notify"))) return;
net.rmnet0.dns* and net.dns*

This is ok for Wifi and 2G/3G conection

wifi.supplicant_scan_interval

android_external_wpa_supplicant/wpa_supplicant.c (2459:2460)
Code:
if (property_get("wifi.supplicant_scan_interval", scan_prop, "5") != 0) {
wpa_s->scan_interval = (int)strtol(scan_prop, &endp, 0);
Valid entries only on CyanogenMod:

persist.sys.purgeable_assets
android_frameworks_base/core/jni/android/graphics/BitmapFactory.cpp (632:634)

Code:
char value[PROPERTY_VALUE_MAX];
    property_get("persist.sys.purgeable_assets", value, "0");
    mPurgeableAssets = atoi(value) == 1;
persist.sys.use_dithering
android_packages_app_CMParts/src/com/cyanogenmod/cmparts/activities/PerformancesettingsActivity.java (102)

Code:
String useDithering = SystemProperties.get(USE_DITHERING_PERSIST_PROP, USE_DITHERING_DEFAULT);
persist.sys.jit-mode (Only "fast" and "portable" modes)
android_packages_app_CMParts/src/com/cyanogenmod/cmparts/activities/PerformancesettingsActivity.java (96:99)

Code:
mJitPref = (CheckBoxPreference) prefSet.findPreference(JIT_PREF);
        String jitMode = SystemProperties.get(JIT_PERSIST_PROP,
                SystemProperties.get(JIT_PROP, JIT_ENABLED));
        mJitPref.setChecked(JIT_ENABLED.equals(jitMode));
pm.sleep_mode (Do not work on Non-MSM chipsets)
See sleep modes on device kernel in pm-data.c and pm.h



Some background info:

XLOUD, ClearAudio

If, and ONLY if your phone support xloud on stock ROM, is highly probable that this is ported for CyanogenMod and AOSP based roms, because these custom roms use proprietary drivers, firmwares, frameworks, app....

To enable, use this:

Code:
ro.semc.sound_effects_enabled=true
ro.semc.xloud.supported=true
persist.service.xloud.enable=1
The same is valid for ClearAudio. To enable use this:

Code:
ro.semc.sound_effects_enabled=true
ro.semc.clearaudio.supported=true
persist.service.clearaudio.enable=1
Last edited by LaraCraft304; 14th August 2014 at 06:39 PM.
The Following 150 Users Say Thank You to LaraCraft304 For This Useful Post: [ View ]
 
 
26th November 2013, 07:12 PM |#2  
Ranisblogru's Avatar
Member
Flag Kazan
Thanks Meter: 3
 
More
For ics 4.0 .4 ?

Sent from my MegaFon_SP-AI using xda premium
26th November 2013, 08:40 PM |#3  
LaraCraft304's Avatar
OP Member
Flag So Paulo
Thanks Meter: 242
 
More
Quote:
Originally Posted by Ranisblogru

For ics 4.0 .4 ?

Sent from my MegaFon_SP-AI using xda premium

I'm looking at latest GIT tree of Android source code and latest CyanogenMod source code, so this topic is valid for latests releases (KK, JB, CM10.X, CM11), but may not be the same for earlier versions (to be sure I'm would have to look old commits...).
Last edited by LaraCraft304; 27th November 2013 at 02:37 PM.
The Following User Says Thank You to LaraCraft304 For This Useful Post: [ View ]
29th November 2013, 03:40 PM |#4  
Crostantin's Avatar
Senior Member
Flag Rome
Thanks Meter: 2,183
 
Donate to Me
More
wow...I ve always wanted to do this resarch...but nerver had time

so all the "famous" build.prop tweaks are useless ????[
The Following User Says Thank You to Crostantin For This Useful Post: [ View ]
29th November 2013, 04:42 PM |#5  
broodplank1337's Avatar
Recognized Contributor / Recognized Developer
Flag Nijmegen
Thanks Meter: 10,153
 
Donate to Me
More
Quote:
Originally Posted by Crostantin

wow...I ve always wanted to do this resarch...but nerver had time

so all the "famous" build.prop tweaks are useless ????[

Yes they have been fake all the time, you might even get surprised when I tell you battery calibration is also totally bogus (it's for emulator only)
The Following 10 Users Say Thank You to broodplank1337 For This Useful Post: [ View ]
29th November 2013, 05:01 PM |#6  
Crostantin's Avatar
Senior Member
Flag Rome
Thanks Meter: 2,183
 
Donate to Me
More
really?? I am surprise !!!!
You mean that i haven't to charge one for month from 0% to 100% and etc.......

If it's true a lot stuff I red about Lithium batteries make sense.....maybe
1st December 2013, 07:35 AM |#7  
Senior Member
Thanks Meter: 131
 
More
Info 2
Most of the tweaks are useless, i totally agree!

Funny to see people "copy & paste" everything they see on the internet, just to "magically" make their phones faster...

Some interesting links regarding the topic:

First one...
Second one...


Take care
Last edited by Wooaarr; 8th December 2013 at 09:52 AM.
The Following 2 Users Say Thank You to Wooaarr For This Useful Post: [ View ]
15th December 2013, 10:48 AM |#8  
Crostantin's Avatar
Senior Member
Flag Rome
Thanks Meter: 2,183
 
Donate to Me
More
Quote:
Originally Posted by Wooaarr

Most of the tweaks are useless, i totally agree!

Funny to see people "copy & paste" everything they see on the internet, just to "magically" make their phones faster...

Some interesting links regarding the topic:

First one...
Second one...


Take care

what about 3G fast dormancy??
the tweak should be:
ro.rill.fast.dormancy.rule=0

...your opinion??
15th December 2013, 06:01 PM |#9  
HTCDreamOn's Avatar
Recognized Contributor
Thanks Meter: 1,259
 
Donate to Me
More
@LaraCraft304 great guide, might want to mention the fact that those cyanogenmod specific changes can be found in performance settings anyway so although the build.prop lines would work, there is no need to use them.
21st December 2013, 03:23 PM |#10  
upndwn4par's Avatar
Recognized Developer / Forum Moderator
New Jersey
Thanks Meter: 10,594
 
Donate to Me
More
Your post looks eerily similar to Jeff Mixon's article.

http://www.jeffmixon.com/examining-b...-guide-part-1/

http://www.jeffmixon.com/examining-b...-guide-part-2/


And FYI, this is a Motorola build.prop tweak ("mot") that in fact works (or at least used to) on Motorola devices.

Code:
ro.mot.eri.losalert.delay
The Following 3 Users Say Thank You to upndwn4par For This Useful Post: [ View ]
Post Reply Subscribe to Thread
Previous Thread Next Thread
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes