手機(jī)設(shè)備信息與 Android build.prop 文件

手機(jī)設(shè)備信息與 Android build.prop 文件

什么是 build.prop 文件

路徑: /system/build.prop

說明: build.prop 是 Android 系統(tǒng)中的一個重要的屬性文件,記錄了系統(tǒng)的設(shè)置和改變口柳。

主要信息類型ro.build.*(編譯信息)苹粟,ro.product.*(設(shè)備信息),ro.config.*(默認(rèn)設(shè)置信息)跃闹,dalvik.vm.*(虛擬機(jī)信息)等嵌削。

獲取 Android 設(shè)備信息的命令

一種是通過訪問 /system/build.prop 文件進(jìn)行查看


# 打印 /system/build.prop 所有內(nèi)容
adb shell cat /system/build.prop

# 通過 grep 篩選特定內(nèi)容
adb shell cat /system/build.prop | grep ro.product

也可以用 ADB 的命令查看


# 顯示所有信息
adb shell getprop

# 顯示特定信息
adb shell getprop ro.product.model

# 篩選信息
adb shell getprop | grep product

部分 build.prop 信息說明

參數(shù) 說明 例子
ro.build.display.full_id 顯示標(biāo)識,標(biāo)識顯示設(shè)備的完整版本號 ro.build.display.full_id=A31u_11_A.04_160613
ro.product.model 機(jī)器型號 ro.product.model=A31u
ro.product.device 設(shè)備名 ro.product.device=A31u
ro.product.name=A31u 機(jī)器名 ro.product.name=A31u
ro.build.id=KTU84P 編譯標(biāo)識 ro.build.id=KTU84P
ro.build.display.id 顯示標(biāo)識 ro.build.display.id=KTU84P release-keys
ro.build.version.incremental 版本增加說明 ro.build.version.incremental=eng.root.20160613
ro.build.version.sdk 編譯時使用的 SDK 版本 ro.build.version.sdk=19
ro.build.version.codename 版本編碼名稱 ro.build.version.codename=REL
ro.build.version.release 公布的版本(一般用于手機(jī)信息的系統(tǒng)版本) ro.build.version.release=4.4.4
ro.build.date 系統(tǒng)編譯時間 ro.build.date=Mon Jun 13 21:38:06 CST 2016
ro.build.date.utc 系統(tǒng)編譯時間(UTC版本) ro.build.date.utc=1465825086
ro.build.type 系統(tǒng)編譯類型 ro.build.type=user
ro.build.user 系統(tǒng)用戶名 ro.build.user=root
ro.build.host 系統(tǒng)主機(jī)名 ro.build.host=ubuntu-121-114
ro.build.tags 系統(tǒng)標(biāo)記 ro.build.tags=release-keys
ro.product.model 機(jī)器型號 ro.product.model=msm8916_32
ro.product.brand 機(jī)器品牌 ro.product.brand=OPPO
ro.product.name 機(jī)器 ro.product.name=msm8916_32
ro.product.device 設(shè)備名 ro.product.device=msm8916_32
ro.product.board 主板名 ro.product.board=msm8916
ro.product.cpu.abi CPU 支持的架構(gòu) ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2 CPU 支持的架構(gòu) ro.product.cpu.abi2=armeabi
ro.product.manufacturer 制造商 ro.product.manufacturer=OPPO
ro.product.locale.language 系統(tǒng)語言 ro.product.locale.language=zh
ro.product.locale.region 系統(tǒng)所在區(qū)域 ro.product.locale.region=CN
ro.wifi.channels WiFi的網(wǎng)絡(luò)信道(空表示自動識別) ro.wifi.channels=
ro.board.platform 主板板卡型號 ro.board.platform=msm8916
debug.sf.hw 硬件 GPU 加速(1:開啟望艺,0:關(guān)閉) debug.sf.hw=1
dalvik.vm.heapsize Dalvik 虛擬內(nèi)存大小 dalvik.vm.heapsize=36m
dalvik.vm.heapstartsize Dalvik 虛擬內(nèi)存初始堆棧大小 dalvik.vm.heapstartsize=12m
dalvik.vm.heapgrowthlimit Dalvik 虛擬內(nèi)存堆棧增長極限 dalvik.vm.heapgrowthlimit=128m
dalvik.vm.heapsize Dalvik 虛擬內(nèi)存最大堆棧大小 dalvik.vm.heapsize=256m
dalvik.vm.heaptargetutilization Dalvik 堆指標(biāo)利用效率/堆內(nèi)存利用百分比 dalvik.vm.heaptargetutilization=0.75
net.bt.name 藍(lán)牙網(wǎng)絡(luò)中顯示的名字 net.bt.name=Android
ro.config.alarm_alert 默認(rèn)鬧鐘鈴聲 ro.config.alarm_alert=alarm_005.ogg
ro.config.ringtone 默認(rèn)響鈴鈴聲 ro.config.ringtone=ringtone_001.ogg
ro.config.ringtone_sim2 默認(rèn)響鈴鈴聲(卡2) ro.config.ringtone_sim2=ringtone_005.ogg
ro.config.notification_sound 默認(rèn)通知鈴聲 ro.config.notification_sound=notification_001.ogg
ro.config.notification_sim2 默認(rèn)通知鈴聲(卡2) ro.config.notification_sim2=notification_009.ogg
ro.com.android.dateformat 默認(rèn)時間格式 ro.com.android.dateformat=MM-dd-yyyy

JNI 獲取設(shè)備信息

知道一些字段的信息苛秕,那么就可以通過 JNI 的一些接口訪問部分信息了。

(不需要繁瑣的用 JNI 調(diào)用 Java 接口提取設(shè)備信息)


#include <sys/system_properties.h>

...

{
    char info[256];
    __system_property_get("ro.build.version.sdk", info);    // 獲取 SDK 版本找默。提取的信息會存入 info 中艇劫。

    ...
    
    __system_property_get("ro.product.model", info);        // 獲取機(jī)型。提取的信息會存入 info 中惩激。
    ...
    
    __system_property_get("ro.serialno", info);             // 獲取序列號店煞。提取的信息會存入 info 中蟹演。
}

需要包含 <sys/system_properties.h> 頭文件。

調(diào)用 __system_property_get 接口浅缸」熘模【int __system_property_get(const char* __name, char* __value)

附錄:一個設(shè)備的 build.prop 文件內(nèi)容


# run command:
#    `adb shell cat /system/build.prop`
#
#
# begin build oppo properties
# autogenerated by oppo_buildinfo.sh
ro.build.date.Ymd=160613
ro.build.date.ymd=160613
ro.build.date.YmdHM=201606132138
ro.build.display.full_id=A31u_11_A.04_160613
ro.common.soft=MSM_15006
ro.product.model=A31u
persist.sys.assert.panic=true
persist.sys.oppo.dump=1
persist.sys.cfu_auto=1
ro.product.device=A31u
ro.product.name=A31u
ro.build.product=A31u
ro.build.version.ota=A31u_11.A.04_004_201606131927
ro.build.soft.majorversion=
ro.build.display.id=A31u_11_160613
ro.build.soft.version=A.04
ro.xxversion=v0.5
ro.build.kernel.id=3.10.28-G201606131927
sys.foreground_process=android
ro.oppo.version=
persist.sys.timezone=Asia/Shanghai
persist.sys.oppo.region=CN
persist.power.useautobrightadj=true
persist.sys.modem=yes
persist.sys.net=yes
persist.sys.assert.state=true
persist.oppo.ctsversion=false
ro.build.fingerprint=OPPO/A31u/A31u:4.4.4/KTU84P/1390465867:user/release-keys
ro.build.oppofingerprint=
persist.radio.multisim.config=dsds
# end build oppo properties
ro.rf_version=W_G_L_15006
ro.telephony.default_network=9,1
persist.sys.autoclearsave=3
persist.sys.assert.state=false
persist.sys.assert.panic=false
persist.sys.oppo.dump=0
ro.build.release_type=true
persist.sys.oem_smooth=1
ro.qualcomm.svi=0
persist.radio.lte_vrte_ltd=1
persist.sys.savetosdcard=cache
# begin build properties
# autogenerated by buildinfo.sh
ro.build.id=KTU84P
ro.build.display.id=KTU84P release-keys
ro.build.version.incremental=eng.root.20160613
ro.build.version.sdk=19
ro.build.version.codename=REL
ro.build.version.release=4.4.4
ro.build.date=Mon Jun 13 21:38:06 CST 2016
ro.build.date.utc=1465825086
ro.build.type=user
ro.build.user=root
ro.build.host=ubuntu-121-114
ro.build.tags=release-keys
ro.product.model=msm8916_32
ro.product.brand=OPPO
ro.product.name=msm8916_32
ro.product.device=msm8916_32
ro.product.board=msm8916
ro.product.cpu.abi=armeabi-v7a
ro.product.cpu.abi2=armeabi
ro.product.manufacturer=OPPO
ro.product.locale.language=zh
ro.product.locale.region=CN
ro.wifi.channels=
ro.board.platform=msm8916
# ro.build.product is obsolete; use ro.product.device
# Do not try to parse ro.build.description or .fingerprint
ro.build.description=msm8916_32-user 4.4.4 KTU84P eng.root.20160613 release-keys
ro.build.fingerprint=OPPO/msm8916_32/msm8916_32:4.4.4/KTU84P/eng.root.20160613:user/release-keys
ro.build.characteristics=default
ro.build.version.opporom=V2.0.1
ro.rom.different.version=ColorOS2.0.1
# end build properties
#
# from device/qcom/msm8916_32/system_cu.prop
#
#
# system.prop for msm8916
#

#rild.libpath=/system/lib/libreference-ril.so
rild.libpath=/system/vendor/lib/libril-qc-qmi-1.so
rild.libargs=-d /dev/smd0
persist.rild.nitz_plmn=
persist.rild.nitz_long_ons_0=
persist.rild.nitz_long_ons_1=
persist.rild.nitz_long_ons_2=
persist.rild.nitz_long_ons_3=
persist.rild.nitz_short_ons_0=
persist.rild.nitz_short_ons_1=
persist.rild.nitz_short_ons_2=
persist.rild.nitz_short_ons_3=
ril.subscription.types=NV,RUIM
DEVICE_PROVISIONED=1
# Start in cdma mode
ro.telephony.default_network=5

debug.sf.hw=1
debug.egl.hw=1
debug.composition.type=c2d
persist.hwc.mdpcomp.enable=true
debug.mdpcomp.logs=0
#Enable translucent status bar feature
persist.hwc.ptor.enable=true
dalvik.vm.heapsize=36m
dev.pm.dyn_samplingrate=1
persist.demo.hdmirotationlock=false
debug.sf.gpu_comp_tiling=1

#ro.hdmi.enable=true
#tunnel.decode=true
#tunnel.audiovideo.decode=true
#lpa.decode=false
#lpa.use-stagefright=true
#persist.speaker.prot.enable=false

#
# system props for the cne module
#

persist.cne.feature=1

#
# system props for the dpm module
#

#ifndef VENDOR_EDIT
#LinJie.Xu@Prd.Android.USB, 2014/10/27, Modify for Qcom chen yan provider modify
#wenhua.Leng@Prd.Android.USB, 2015/04/28, Modify for Qcom gaojiugang provider modify
#persist.dpm.feature=0
#else /* VENDOR_EDIT */
#persist.dpm.feature=4
persist.dpm.feature=7
#endif /* VENDOR_EDIT */



#system props for the MM modules
media.stagefright.enable-player=true
media.stagefright.enable-http=true
media.stagefright.enable-aac=true
media.stagefright.enable-qcp=true
media.stagefright.enable-fma2dp=true
media.stagefright.enable-scan=true
media.swhevccodectype=0
media.hwhevccodectype=0
mmp.enable.3g2=true
mm.enable.smoothstreaming=true
mm.disable.sec_smoothstreaming=true
media.aac_51_output_enabled=true
#codecs:(PARSER_)AAC AC3 ASF AVI DTS 3G2 MP2TS QCP FLAC
mm.enable.qcom_parser=168563

#
# system props for the data modules
#
ro.use_data_netmgrd=true
persist.data.netmgrd.qos.enable=true

#system props for time-services
persist.timed.enable=true

#
# system prop for opengles version
#
# 196608 is decimal for 0x30000 to report version 3
ro.opengles.version=196608

# System property for cabl
#ifdnef VENDOR_EDIT
#Xiaori.Yuan@Mobile Phone Software Dept.Driver, 2014/09/02  shutdown cabl
#ro.qualcomm.cabl=2
#else
ro.qualcomm.cabl=0
#endif

#
# System props for telephony
# System prop to turn on CdmaLTEPhone always
telephony.lteOnCdmaDevice=1
persist.omh.enabled=false

#
# System props for bluetooh
# System prop to turn on hfp client
#ifdef VENDOR_EDIT
#HuiTao@Prd.BasicSrv.BT, 2014/08/06 Modify for Close HFP Client
bluetooth.hfp.client=0
bluetooth.a2dp.sink.enabled=false
#else
#bluetooth.hfp.client=1
#endif

#Simulate sdcard on /data/media
#
persist.fuse_sdcard=true

#
#snapdragon value add features
#
ro.qc.sdk.audio.ssr=false
##fluencetype can be "fluence" or "fluencepro" or "none"
ro.qc.sdk.audio.fluencetype=none
persist.audio.fluence.voicecall=true
persist.audio.fluence.voicerec=false
persist.audio.fluence.speaker=true
#Set for msm8916
tunnel.audio.encode = false
#Buffer size in kbytes for compress offload playback
audio.offload.buffer.size.kb=32
#use VERY_HIGH_QUALITY for audio resampler
af.resampler.quality=4
#Enable offload audio video playback by default
av.offload.enable=false
#enable voice path for PCM VoIP by default
use.voice.path.for.pcm.voip=true
#
#System property for FM transmitter
#
ro.fm.transmitter=false
#enable dsp gapless mode by default
audio.offload.gapless.enabled=true

#Audio voice concurrency related flags
voice.playback.conc.disabled=true
voice.record.conc.disabled=true
voice.voip.conc.disabled=true

#Set composition for USB
#ifndef VENDOR_EDIT
#LinJie.Xu@Prd.Android.USB, 2014/07/29, Remove for we don't need initialize persist.sys.usb.config
#persist.sys.usb.config=diag,serial_smd,rmnet_bam,adb
#endif /* VENDOR_EDIT */



# set max starting background services
ro.config.max_starting_bg=8

#property to enable user to access Google WFD settings
persist.debug.wfd.enable=1
#propery to enable VDS WFD solution
persist.hwc.enable_vds=1

#property to enable narrow search range for video encoding
vidc.enc.narrow.searchrange=1

#ifdef VENDOR_EDIT
#Xiaori.Yuan@Mobile Phone Software Dept.Driver, 2014/10/11  Add for 14005 performance
sys.hwc.gpu_perf_mode=1
#endif /* VENDOR_EDIT */


#hwui properties
#ro.hwui.texture_cache_size=72
ro.hwui.layer_cache_size=48
ro.hwui.r_buffer_cache_size=8
ro.hwui.path_cache_size=32
ro.hwui.gradient_cache_size=1
ro.hwui.drop_shadow_cache_size=6
ro.hwui.texture_cache_flushrate=0.4
ro.hwui.text_small_cache_width=1024
ro.hwui.text_small_cache_height=1024
ro.hwui.text_large_cache_width=2048
ro.hwui.text_large_cache_height=1024

#
# ADDITIONAL_BUILD_PROPERTIES
#
dalvik.vm.heapminfree=4m
dalvik.vm.heapstartsize=12m
keyguard.no_require_sim=true
ro.com.android.dataroaming=false
ro.com.android.dateformat=MM-dd-yyyy
ro.config.alarm_alert=alarm_005.ogg
ro.config.ringtone=ringtone_001.ogg
ro.config.ringtone_sim2=ringtone_005.ogg
ro.config.notification_sound=notification_001.ogg
ro.config.notification_sim2=notification_009.ogg
ro.carrier=unknown
ro.oppo.theme.version=701
ro.vendor.extension_library=/vendor/lib/libqc-opt.so
persist.radio.apm_sim_not_pwdn=1
dalvik.vm.heapgrowthlimit=128m
dalvik.vm.heapsize=256m
dalvik.vm.heaptargetutilization=0.75
dalvik.vm.heapmaxfree=8m
drm.service.enabled=true
persist.sys.dalvik.vm.lib=libdvm.so
net.bt.name=Android
dalvik.vm.stack-trace-file=/data/anr/traces.txt
persist.gps.qc_nlp_in_use=1
persist.loc.nlp_name=com.qualcomm.services.location
ro.gps.agps_provider=1
ro.pip.gated=0

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末魄咕,一起剝皮案震驚了整個濱河市衩椒,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌哮兰,老刑警劉巖毛萌,帶你破解...
    沈念sama閱讀 217,542評論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異喝滞,居然都是意外死亡阁将,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,822評論 3 394
  • 文/潘曉璐 我一進(jìn)店門右遭,熙熙樓的掌柜王于貴愁眉苦臉地迎上來做盅,“玉大人,你說我怎么就攤上這事窘哈〈盗瘢” “怎么了?”我有些...
    開封第一講書人閱讀 163,912評論 0 354
  • 文/不壞的土叔 我叫張陵滚婉,是天一觀的道長图筹。 經(jīng)常有香客問我,道長让腹,這世上最難降的妖魔是什么远剩? 我笑而不...
    開封第一講書人閱讀 58,449評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮骇窍,結(jié)果婚禮上瓜晤,老公的妹妹穿的比我還像新娘。我一直安慰自己腹纳,他們只是感情好痢掠,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,500評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著只估,像睡著了一般志群。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蛔钙,一...
    開封第一講書人閱讀 51,370評論 1 302
  • 那天锌云,我揣著相機(jī)與錄音,去河邊找鬼吁脱。 笑死桑涎,一個胖子當(dāng)著我的面吹牛彬向,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播攻冷,決...
    沈念sama閱讀 40,193評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼娃胆,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了等曼?” 一聲冷哼從身側(cè)響起里烦,我...
    開封第一講書人閱讀 39,074評論 0 276
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎禁谦,沒想到半個月后胁黑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,505評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡州泊,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,722評論 3 335
  • 正文 我和宋清朗相戀三年丧蘸,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片遥皂。...
    茶點(diǎn)故事閱讀 39,841評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡力喷,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出演训,到底是詐尸還是另有隱情弟孟,我是刑警寧澤,帶...
    沈念sama閱讀 35,569評論 5 345
  • 正文 年R本政府宣布仇祭,位于F島的核電站披蕉,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏乌奇。R本人自食惡果不足惜没讲,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,168評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望礁苗。 院中可真熱鬧爬凑,春花似錦、人聲如沸试伙。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,783評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽疏叨。三九已至潘靖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間蚤蔓,已是汗流浹背卦溢。 一陣腳步聲響...
    開封第一講書人閱讀 32,918評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人单寂。 一個月前我還...
    沈念sama閱讀 47,962評論 2 370
  • 正文 我出身青樓贬芥,卻偏偏與公主長得像,于是被迫代替她去往敵國和親宣决。 傳聞我的和親對象是個殘疾皇子蘸劈,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,781評論 2 354

推薦閱讀更多精彩內(nèi)容