Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,806,018 Members 43,930 Now Online
XDA Developers Android and Mobile Development Forum

[Guide] demystifying build.prop [Valid entries]

Tip us?
 
LaraCraft304
Old
(Last edited by LaraCraft304; 14th August 2014 at 06:39 PM.)
#1  
LaraCraft304's Avatar
Member - OP
Thanks Meter 231
Posts: 48
Join Date: Dec 2012
Location: São Paulo
Prompt [Guide] demystifying build.prop [Valid entries]

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
The Following 142 Users Say Thank You to LaraCraft304 For This Useful Post: [ Click to Expand ]
 
Ranisblogru
Old
#2  
Ranisblogru's Avatar
Member
Thanks Meter 3
Posts: 55
Join Date: Aug 2012
Location: Kazan
For ics 4.0 .4 ?

Sent from my MegaFon_SP-AI using xda premium
 
LaraCraft304
Old
(Last edited by LaraCraft304; 27th November 2013 at 02:37 PM.)
#3  
LaraCraft304's Avatar
Member - OP
Thanks Meter 231
Posts: 48
Join Date: Dec 2012
Location: São Paulo
Quote:
Originally Posted by Ranisblogru View Post
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...).
The Following User Says Thank You to LaraCraft304 For This Useful Post: [ Click to Expand ]
 
Crostantin
Old
#4  
Crostantin's Avatar
Senior Member
Thanks Meter 345
Posts: 394
Join Date: Dec 2012
Location: Rome

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

so all the "famous" build.prop tweaks are useless ????[
=>=>RastaBoost=>=> ----- this is my Rasta, Have a look , if you like say Thanks last hammer
Changelog ------- features list ------- Screenshoot

Google+
Twitter
Github
The Following User Says Thank You to Crostantin For This Useful Post: [ Click to Expand ]
 
broodplank1337
Old
#5  
broodplank1337's Avatar
Recognized Contributor / Recognized Developer
Thanks Meter 10,021
Posts: 4,940
Join Date: Nov 2011
Location: Nijmegen

 
DONATE TO ME
Quote:
Originally Posted by Crostantin View Post
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)
Device: Samsung Galaxy S4 (i9505)

Latest Development:
 

Roms:
AOSP v4.4.4 (KTU84P) from source for I9505 (Github)
- Cleanest ROM available for i9505. along with up-to-date stock kernel, also forms a perfect base for ROM developers.

Apps:
Galaxy S4 Glove Mode App (Playstore link)
- Do you want the Glove Mode of the S4 but your ROM doesn't support it? Use this app to enable/disable it easily.

Latest Scraps:
Proprietary Lib Cleaner / Silent proprietary libs / Live Thermal Monitor / GIT Conflict Fixer

Projects in development:
 

broodROM KitKat "Aiming for perfection"
- Custom ROM with really high standards, more info soon

For sources you can visit my Github. Or take a look at all my projects

The Following 9 Users Say Thank You to broodplank1337 For This Useful Post: [ Click to Expand ]
 
Crostantin
Old
#6  
Crostantin's Avatar
Senior Member
Thanks Meter 345
Posts: 394
Join Date: Dec 2012
Location: Rome

 
DONATE TO ME
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
=>=>RastaBoost=>=> ----- this is my Rasta, Have a look , if you like say Thanks last hammer
Changelog ------- features list ------- Screenshoot

Google+
Twitter
Github
 
Wooaarr
Old
(Last edited by Wooaarr; 8th December 2013 at 09:52 AM.)
#7  
Senior Member
Thanks Meter 108
Posts: 115
Join Date: May 2012
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
The Following 2 Users Say Thank You to Wooaarr For This Useful Post: [ Click to Expand ]
 
Crostantin
Old
#8  
Crostantin's Avatar
Senior Member
Thanks Meter 345
Posts: 394
Join Date: Dec 2012
Location: Rome

 
DONATE TO ME
Quote:
Originally Posted by Wooaarr View Post
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??
=>=>RastaBoost=>=> ----- this is my Rasta, Have a look , if you like say Thanks last hammer
Changelog ------- features list ------- Screenshoot

Google+
Twitter
Github
 
HTCDreamOn
Old
#9  
HTCDreamOn's Avatar
Recognized Contributor
Thanks Meter 684
Posts: 818
Join Date: Jun 2012
@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.
 
upndwn4par
Old
#10  
upndwn4par's Avatar
Recognized Developer
Thanks Meter 9,341
Posts: 3,377
Join Date: Jan 2012
Location: New Jersey - Youz gotta problem wit dat?
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 2 Users Say Thank You to upndwn4par For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes