GrabDuck

[GUIDE]Build.prop explained [Updated 11/30]

:

Hello fellow xda members. Today i present you my little tutorial about the build.prop file. I have taken the reference build.prop from k2wl's aokp rom.

Please make a nandroid backup in case something goes wrong.
I´m not responsible for any damages to your phone.

Quote:

CREDITS
-Chris_84
-k2wl (for refrence build.prop)
-xda-developers

Quote:

What is the build.prop ?
TheManii: Build.prop is what holds the majority of the runtime flags that are used when android boots, think of it as being
similar to config.sys on dos or environment variables in various OS's. It only holds variables, it cant run any scripts on it's own. Whatever is placed inside depends on android itself to pay attention to the flag and actually use it.

In easier words it is a file in your android system that maintains certain parameters on your phone in order for your phone to run.
These properties are device specific and can change depending upon the various specifications of the device and also includes some system properties.

Quote:

Where is build.prop located?
You will find the build.prop file in root/system/build.prop. You can open it with a root explorer/es explorer which has a built in text editor.

Quote:

How to edit build.prop?
1.With a root explorer or ES file exploreror.
copy /system/build.prop to the root of the internal sdcard (/mnt/sdcard).
2.Edit it using a text editor (ES and root explorer have an inbuilt text editor) or on computer using notepad++.
3.Be careful as some of the parameters already exist. Just change their values.
4. Overwrite /system/build.prop with the edited file.
5. Make sure that the permissions are still rw-r--r--:
6. Reboot into recovery
wipe cache and dalvik cache.
Make sure to edit existing line if present

LETS BEGIN

This mentions that the build prop is built by build info shell script during the compilation of the ROM.
# begin build properties
# autogenerated by buildinfo.sh

Version name of 4.2.2(jellybean)
ro.build.id=JDQ39

Current rom version on phone
ro.build.display.id=aokp_i9082-userdebug 4.2.2 JDQ39 eng.k2wl.20130827.005402

Your current modem version
ro.build.version.incremental= eng.k2wl.20130827.005402

Current sdk version of framework plus codename
ro.build.version.sdk=17
ro.build.version.codename=REL

Current android version on phone
ro.build.version.release=4.2.2

This is the time and date of when the Kernel was built.
ro.build.date=Aug 27 00:54:58 IST 2013

Other Kernal Details
ro.build.date.utc=1377545098
ro.build.type=userdebug
ro.build.user=android-build
ro.build.host=k2wl-HP-EliteBook-8440p

Test keys means that the ROM is not an official version of the ROM. Release keys are for official releases.
ro.build.tags=release-keys

Model Number
ro.product.model=GT-I9082

Phone Manufacturer
ro.product.brand=samsung

This name is the codename of the
device.
For example-
HTC Explorer - pico,
Nexus 7 - grouper
Nexus 4 - mako
Galaxy Ace - cooper
Grand - baffin

ro.product.name=baffin

System Images
It is the first instruction set (CPU + ABI
convention type) of the code. Ours is an arm type arch cpu and abi version 7a )

ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi

Default Country settings.
Language of software
Region of software

ro.product.locale.language=en
ro.product.locale.region=GB

If you not able to connect to your wifi, you can try to set here the same number of channels as your router currently got. For example: Your router is set to 12 channels you can paste the same number in here.
ro.wifi.channels=

Here you can set the standard media sounds for each notification. But the file should be present in system/media/...
ro.config.ringtone=S_Over_the_horizon.ogg
ro.config.notification_sound=S_Whistle.ogg
ro.config.alarm_alert=A_toy_watch.ogg

Your phone is still usable, even if sim card is not inserted.
keyguard.no_require_sim=true

Default format of date
ro.com.android.dateformat=mm-dd-yyyy

Your bluetooth name
net.bt.name=Samsung Galaxy Grand Duos

Disable Boot Animation
debug.sf.nobootanimation=1

Your battery capacity (in MHz)
ro.semc.batt.capacity=1200

The setup wizard when you flash a custom rom and it asks your language, gmail id etc
ro.setupwizard.mode=DISABLED (or ENABLED or OPTIONAL)

Here you can set the default density (in pixel per inch)(default is 240)
ro.sf.lcd_density=240

Minimum brightness of your screen
ro.lcd_min_brightness=40

Your default brightness
ro.lcd_brightness=160

Basically you control the class-loading and dalvik-vm there. Here you can set different values.
v=a means verify all,
v=f means verify full,
o=v means optimize verify,
v=n will turn off bytecode verification
u=n means do not optimize for unprocessor
m=y means register maps yes

dalvik.vm.dexopt-flags=m=y

Enables multi touch
ro.product.multi_touch_enabled=true

Max number of multi touches
ro.product.max_num_touch=2

Disable sending usage data
ro.config.nocheckin=1

Here you can set the delay of time your phone starts to ring when you recieve a call.
ro.telephony.call_ring.delay=0 (0 means disabled)

Disable waking up of phone by volume buttons ro.config.hwfeature_wakeupkey=0

Off the proximity quickly after call
mot.proximity.delay=25
ro.lge.proximity.delay=25

This property is supposed to keep the launcher in memory under the assumption that it would somehow make it faster
ro.HOME_APP_ADJ=1

Allows your phone to use an ext-4 file system
ro.ext4fs=1

Disables debug icon on status bar
persist.adb.notify=0

Key lights stay on while screen is on
ro.mot.buttonlight.timeout=0

Disable notification sound when SD is inserted
persist.service.mount.playsnd=0

Disables location of device. Also delete /system/app/networklocation.apk and /system/framework/com.android.location.provider
.jar

ro.com.google.locationfeatures=0
ro.com.google.networklocation=0

To enable the timeout of hard key lights to stay on when screen is on and lights off when screen is off
ro.mot.buttonlight.timeout=0

To enable the menu button too unlock the phone
Not sure if it works
ro.config.hw_menu_unlockscreen=true

Proximity sensor debounce time
mot.proximity.delay=450
mot.proximity.distance=60

Default data roaming is enabled
ro.com.android.dataroaming=true

Judging from its name I assume people think it disables some kind of logging mechanism. But 'no'.The “ulog” referred to in this property is an HTC-specific service that HTC calls the User Behavior Logging Service. This service is centered around tracking user behavior related to the HTC Sense launcher. The HTC ULog tracks some basic things like the number of ANRs and/or crashes, but it also potentially tacks things like your wallpaper selection, your installed apps and your locatio (HTC specific)
profiler.force_disable_ulog=1

Unlike the latter, this one actually does turn off sending device crash log data to HTC. This will make your device run faster/smoother/better (HTC specific)
profiler.force_disable_err_rpt=1

# Increase Quality Of MediaStreaming
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true
media.stagefright.enable-record=false

# Net Speed Tweaks
net.tcp.buffersize.default=4096,87380,256960,4096,
16384,256960
net.tcp.buffersize.wifi=4096,87380,256960,4096,163
84,256960
net.tcp.buffersize.umts=4096,87380,256960,4096,163
84,256960
net.tcp.buffersize.gprs=4096,87380,256960,4096,163
84,256960
net.tcp.buffersize.edge=4096,87380,256960,4096,163
84,256960

# Google DNS Tweak
net.wlan0.dns1=8.8.8.8
net.wlan0.dns2=8.8.4.4
net.pdp0.dns1=8.8.8.8
net.pdp0.dns2=8.8.4.4
net.ppp0.dns1=8.8.8.8
net.ppp0.dns2=8.8.4.4
net.eth0.dns1=8.8.8.8
net.eth0.dns2=8.8.4.4
net.gprs.dns1=8.8.8.8
net.gprs.dns2=8.8.4.4

# Touch Responsiveness
Scrolling Responsiveness
Faster Scrolling

debug.performance.tuning=1
video.accelerate.hw=1
windowsmgr.max_events_per_sec=500
ro.max.fling_velocity=12000
ro.min.fling_velocity=8000

# Media Tweaks

Increase photo and video quality
ro.media.dec.jpeg.memcap=8000000
ro.media.enc.hprof.vid.bps=8000000
ro.media.enc.jpeg.quality=100

Makes streaming videos stream faster
media.stagefright.enable-player=true
media.stagefright.enable-meta=true
media.stagefright.enable-scan=true
media.stagefright.enable-http=true

Better Flashlight intensity & camera-flash quality
ro.media.capture.flash=led
ro.media.capture.flashMinV=3300000
ro.media.capture.torchIntensity=65
ro.media.capture.flashIntensity=70

# Signal Tweaks

Defines weither to use [0=UMTS] [1=HSDPA only] [2=HSDPA & HSUPA] [5=No significant information has been found but it makes the switch between WiFi and HSxPA nearly instantaneous (note works like "2" but better)]
Here you can improve your Data speed if your provider supports it. Set this to 0 if you want lower speeds, and up to 2 for faster speeds.

ro.ril.hsxpa=2

Defines what class speeds to use with EDGE.
Class 10 will significantly save battery, unless you use EDGE/GPRS instead of 3G)
12 is the default value for most modern phones.
Setting this value to 12 can improve the data speed significant on lower connections.

ro.ril.gprsclass=10

0=off
1=Default
no change when turned off. In some phones stability is increased when turned off.

ro.ril.hep=1

Enable "dual transfer mode" on EDGE networks. Requires different GPRS class settings. Only set this to 1 if your network allows simultaneous transfer of Circuit switched (CS) voice and Packet switched (PS) data over the same radio channel (ARFCN). Turning this off on some carriers, including Optus (AU) and AT&T increases upload speeds.
ro.ril.enable.dtm=1

Enable increased ciphering on
HSDPA/HSUPA, for increased security, but decrease in performance.

ro.ril.enable.a53=1

Adds the 3G prefix e.g. Optus 3G, etc. Purely cosmetic
ro.ril.enable.3g.prefix=1

Other signal tweaks
ro.ril.hsdpa.category=10
ro.ril.htcmaskw1.bitmask=4294967295
ro.ril.htcmaskw1=14449
ro.ril.hsupa.category=5

# Dalvik VM tweaks

This controls the smallest amount of memory given to a single application.
dalvik.vm.heapstartsize=5m

This value represents the maximum allowed amount of memory that the Dalvik Virtual Machine can allocate to the applications. A higher value means faster apps but more RAM consumption.
dalvik.vm.heapgrowthlimit=48m

The dalvik.vm.heapsize property defines an absolute maximum for the heap size for an application
dalvik.vm.heapsize=128m

This point stands for "Debug SurfaceFlinger Hardware" or GPU hardware acceleration
debug.sf.hw=1

Explained Earlier(change to this to load apps faster and free more ram)
dalvik.vm.dexopt-flags=m=v,o=y or m=y

This property can set the execution mode of the Dalvik VM. The VM can run in three modes: fast, portable, and JIT. It is possible to compile Android without JIT support, but the default is to include it. In general, JIT is the execution mode you are going to want on your device. This is why you will see most build.prop files setting this property to “int:jit”.
In ICS or lower , there is no need to define this setting in your build.prop

dalvik.vm.execution-mode=int:jit or int:fast

Others
dalvik.vm.heaptargetutilization=0.75
dalvik.vm.heapmaxfree=2m
dalvik.vm.lockprof.threshold=500

# Improve battery

improve battery under no signal
ro.mot.eri.losalert.delay=1000

Wifi to scan less frequently
wifi.supplicant_scan_interval=240

System can free more Ram when needed
persist.sys.purgeable_assets=1

This property purports to significantly increase your battery life by putting signaling your device to use a better power mode when your phone is idle. Recommended values range from 0, 1, 4 with the most common be 1
pm.sleep_mode=1

To save battery turn off wifi, internet, bluetooth, gps, lower the brightness at night, kill all apps running in background, clear ram, underclock if kernal supports and also switch off the animations settings>display>no animation.