This is a reference thread about the build.prop that is found in our phones.
First up is the disclaimer :
#include<disclaimer.h> $ Whatever you will be doing here is through root ! $ So whatever happens to your phone before or after editing something is purely your mistake. $ If you blame me, I will blame you for not reading this.
What is the build.prop ?
> Build properties or build.prop 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 i.e. some properties that have to be defined in the build prop for a particular software ( Read ROM ) to run on it.
Where is this build.prop of yours located ?
> The build.prop of any ROM of our phone is located at
- Download and install a root browser.
- Allow it root access. (Obviously)
- If you start up " /sdcard/ " then navigate UP to the root of your phone.
- Go to /system folder.
Note 2: There are a few apps that can be used to edit build.prop. Check out the playstore.
I will split the build prop into 2 sections :
- Standard build properties
- Additional build properties
Here is a reference build.prop.txt. You can keep referring to it while you are reading this guide/tutorial.
Standard build properties
- So the normal build properties start with:
# begin build properties # autogenerated by buildinfo.sh
ro.build.id=JZO54K ro.build.display.id=cm_pico-userdebug 4.1.2 JZO54K eng.sakindia123.20121117.161006 test-keys ro.build.version.incremental=eng.sakindia123.20121117.161006 ro.build.version.sdk=16 ro.build.version.codename=REL ro.build.version.release=4.1.2 ro.build.date=Sat Nov 17 16:10:21 GMT 2012 ro.build.date.utc=1353168621 ro.build.type=userdebug ro.build.user=sakindia123 ro.build.host=build1 ro.build.tags=test-keys
2) It is the version of the ROM which appears in the about phone. This is a cm10 build by sakindia123.
3) This is the software development kit version which is needed and used for building the ROM.
4) 3's codename.
5) This is the android version of the ROM.
6) This is the time and date of when the ROM and Kernel were built together. (ROM only).
7) More details on the kernel.
8) Read 7.
9) Userdebug ROMs has usb debugging set to 0 and eng are for general release.
10) Name of the person building the ROM & kernel.
12) Test keys suggests that the ROM is not an official version of the ROM. Release keys are for official releases.
ro.product.model=HTC Explorer A310e ro.product.brand=htc_europe ro.product.name=pico ro.product.device=pico ro.product.board=pico ro.product.cpu.abi=armeabi-v7a ro.product.cpu.abi2=armeabi ro.product.manufacturer=HTC ro.product.locale.language=en ro.product.locale.region=US ro.wifi.channels= ro.board.platform=msm7x27a # ro.build.product is obsolete; use ro.product.device ro.build.product=pico # Do not try to parse ro.build.description or .fingerprint ro.build.description=cm_pico-userdebug 4.1.2 JZO54K eng.sakindia123.20121117.161006 test-keys ro.build.fingerprint=htc_europe/htc_pico/pico:2.3.5/GRJ90/207463.1:user/release-keys ro.build.characteristics=default ro.cm.device=pico # end build properties #
1) Model of our device
2) Brand of device. ( In some case carrier ) for which the android version has been made for.
3) Name is an alternative ( codename ) of the device during its development. For Explorer its pico, for Nexus 7 : grouper for Nexus 4 : mako for SG Ace its cooper etc.
6) It is the first instruction set (CPU + ABI convention type) of the code. Ours is an arm type arch cpu and abi version 7a )
7) It is the second instruction set type. ( like 6)
8) Name of manufacturer.
9) Language of the software ( read ROM)
10) Region of operation of software.
12) Name of board on which software has been built.
14 , 15 and 16. IMP: Never attempt to modify this value ! This can lead to bootloop (possibly hard brick) of your phone. This is the unique fingerprint of the software of your phone.
Now time for the system properties ! .
What is RIL ?
A Radio Interface Layer (RIL) is a layer in an operating system which provides an interface to the hardware's radio and modem on e.g. a mobile phone.
rild.libpath=/system/lib/libhtc_ril.so rild.libargs=-d /dev/smd0 rilswitch.vendorlibpath=/system/lib/libhtc_ril.so ril.subscription.types=NV,RUIM ro.baseband.arch = msm ro.ril.ecc.HTC-GCC=999,112,997 ro.ril.ecc.HTC-WWE=999 ro.ril.ecc.HTC-Dutch=112 ro.ril.ecc.HTC-SPA=112, 911,112, 911 ro.ril.ecc.HTC-FRA=112,911 ro.ril.ecc.HTC-ITA=112,911 ro.ril.ecc.HTC-EastEurope=112 ro.ril.enable.a52.HTC-ITA=1 ro.ril.enable.a53.HTC-ITA=1 ro.ril.enable.a52=0 ro.ril.enable.a53=1 ro.ril.hsdpa.category=8 ro.ril.hsxpa=1 ro.ril.fast.dormancy.rule=1 ro.ril.disable.fd.plmn.prefix=23402,23410,23411,23420,27202 ro.ril.enable.managed.roaming=1 ro.ril.gprsclass=10 ro.ril.oem.nosim.ecclist=911,112,999,000,08,118,120,122,110,119,995 ro.ril.emc.mode=2 ro.telephony.ril.v3=signalstrength,singlepdp,skipbrokendatacall ro.ril.htcmaskw1.bitmask = 4294967295 ro.ril.htcmaskw1 = 14449 ro.ril.update.acoustic.table = 1 ro.ril.avoid.pdp.overlap = 1 ro.telephony.default_network = 0
5) Architecture of baseband radio.
6,7,8,9,10,11,12) Syntax :
13,14,15,16) Something to do with GPRS, AFAIK.
17) HSDPA category : High speed downlink packet access category. ( 8 == 7.2 mbit/s )
18) HSXPA : High speed ( type ) packet . ( values 1- HSDPA 2-HSDPA/HSUPA ( High speed uplink packet access )
19) Something to do with 3G.
21) Ability of enabling data roaming.
22) Class of GPRS network that needs to be routed to phone.
23) No sim emergency call codes list
25) This is somehow related to mobile data and its stablility. ( adding skipbrokendatacall adds stability ).
28) Related to ril audio.
30) Default type of data connection.
# Time between scans in seconds. Keep it high to minimize battery drain. # This only affects the case in which there are remembered access points, # but none are in range. wifi.supplicant_scan_interval=180 wifi.interface=eth0 wifi.softap.interface=eth0 # density in DPI of the LCD of this board. This is used to scale the UI # appropriately. If this property is not defined, the default value is 160 dpi. ro.sf.lcd_density = 160 # View configuration for QVGA view.fading_edge_length = 8 view.touch_slop = 15 view.minimum_fling_velocity = 25 view.scroll_friction = 0.008 # The OpenGL ES API level that is natively supported by this device. # This is a 16.16 fixed point number ro.opengles.version = 131072 # For no auto focus devices ro.workaround.noautofocus = 1 # Increase SKIA decode memory capability for progressive jpg file ro.media.dec.jpeg.memcap = 20000000 # For QC perf binary hooks # src:vendor/qcom/proprietary/android-perf/release/lib/<CPU arch>/libqc-opt.so ro.vendor.extension_library=/system/lib/libqc-opt.so
# Misc. DEVICE_PROVISIONED=1 htc.audio.alc.enable = 1 htc.audio.swalt.enable = 1 dalvik.vm.heapsize=48m ro.opengles.version = 131072 debug.composition.7x27A.type=mdp media.stagefright.enable-player=true media.stagefright.enable-scan=true media.stagefright.enable-http=true media.stagefright.enable-fma2dp=true media.stagefright.enable-aac=true media.stagefright.enable-qcp=true ro.use_data_netmgrd=true persist.data.ds_fmc_app.mode=0 ro.staticwallpaper.pixelformat=RGB_565 ro.max.fling_velocity=4000 httplive.enable.discontinuity=true dev.pm.dyn_samplingrate=1 dev.pm.dyn_sample_period=700000 com.qc.hardware=true com.qc.hdmi_out=false debug.camcorder.disablemeta=0 debug.qctwa.statusbar=1 debug.qctwa.preservebuf=1 debug.enabletr=false debug.sf.hw=1 ro.media.enc.jpeg.quality=100 ro.setupwizard.mode=OPTIONAL hwui.print_config=choice hwui.disable_vsync=true ro.setupwizard.enable_bypass=1 ro.media.dec.aud.wma.enabled=1 ro.media.dec.vid.wmv.enabled=1 ro.config.sync=yes ro.phone_storage=0 ro.hw_plat=7x27a #Hwui hwui.use.blacklist=true
2,3) Enabling certain audio libs.
4) Least amount of RAM that can be given to any application to run.
5) OpenGL 2.x.x
6) this is actually the software composition method. CAF suggests mdp for msm7x27a boards
7,8,9,10,11,12) media.stagefright is nothing but the type of media framework that is being supported and its various properties are in the build.prop. ( type of media playback : local media as well as online streaming like 3gp mpeg mp4 etc etc ).
13) It is the pixel format of RGB 565 with a constant value of 4
14) Something to do with app + data cache.
15) Self explanatory
16) Some thing with surface flinger hardware, aka our gpu.( probably framerate)
17) HTML Related.
18,19) Probably sampling rate of all media. ( Sound , picture quality etc etc . )
20) Something to do with the processes of above names.
25) debug surface flinger hardware. One of the best known tweaks , i.e. GPU Hardware acceleration.
26) Encoding media quality (jpeg)
27) Setupwizard ( google or otherwise ) enabling
28,29) Related to Hardware acceleration settings. (?)
30) By pass setup wizard.
31,32) Media decoding of audio and video of wma and wmv formats respectively.
33) Sync enabled at bootup.
34) something to do with phone storage. ( probably install location .. not sure)
35) hardware platform. msm7x27a.
36) Something to do with hwui. (?)
The points with " -*- " are unknown properties to me.. Please mention them if you know what they mean.
The points with " -- " are points that are either too obvious or are repeated.
All corrections are welcome. I know this post has many mistakes , please feel free to correct them. A huge shout out to sakindia123 for correcting my mistakes. Thanks mate. This is supposed to be a sort of database of information. Please do your bit and contribute !