查看系统属性build.prop

查看系统属性build.propAndroid系统主要通过SystemProperties这个类,直接本地调用来实现创建、获取及修改系统属性。   Systemproperties类在android.os下,路径为:   /frameworks/base/core/java/android/os/SystemProperties.java      在手机系统中,我们可以通过如下命令查看到系统属性文件build.

查看系统属性build.propAndroid系统主要通过SystemProperties这个类,直接本地调用来实现创建、获取及修改系统属性。


   Systemproperties类在android.os下,路径为:


   /frameworks/base/core/java/android/os/SystemProperties.java


   


   在手机系统中,我们可以通过如下命令查看到系统属性文件build.prop。


   jinzhimin@jinzhimin:~$ adb remount        //连接到手机系统


   remount succeeded


   jinzhimin@jinzhimin:~$ adb shell           //进入到手机系统


   # cd system                              //连接system目录


   # ls                                     //查看文件


   usr


   xbin


   bin


   res


   media


   lib


   vendor


   etc


   app


   build.prop


   fonts


   secro


   lost+found


   framework


   # exit                                   //退出手机系统


jinzhimin@jinzhimin:~$ adb pull /system/build.prop /home/jinzhimin/00          //将系统属性文件build.prop拷贝出来


   43 KB/s (3543 bytes in 0.079s)


   jinzhimin@jinzhimin:~$


   


   这样,我们就可以通过build.prop查看手机系统属性了。


   当然了,我们在成功编译完源代码后,在以下目录下也可以看到build.prop。


   /out/target/product/huaqin75_cu_ics/system/build.prop


   


   build.prop是如何生成的呢?Android的build.prop文件是在Android编译时刻收集的各种property,编译完成之后,文件生成在/out/target/product/huaqin75_cu_ics/system/目录下。在Android运行时刻可以通过SystemProperties_get*()读取这些属性值。


   build.prop的生成是由make系统解析build/core/Makefile完成。


二、Android手机build.prop参数详解(手机型号不同,有些内容可能不一样)


  ro.build.version.sdk=10         sdk版本 10对应2.3ROM


  ro.build.version.release=2.3.4    android版本


  ro.build.date=三 12月 15 20:41:26 CST 2010   时区时间CST可以代表4个时区


  ro.product.model=GT540           手机型号    


  ro.product.locale.language=zh   刷机后默认语言


  ro.product.locale.region=CN     刷机后启动的默认语言


  ro.build.description=soju-user 2.3.3 GRI40 102588 release-keys    内部版本号


  Default network type.   # 0 => WCDMA preferred.         默认网络类型


  wifi.supplicant_scan_interval=120    WIFI扫描时间单位为秒 调大这个值可节约耗电


  ## opengles 2.0               LINUX下针对多媒体的一些功能


  debug.sf.hw=1                    硬件加速设定 0是关闭, 1是开启


  dalvik.vm.heapsize=24m               虚拟内存范围由12M-48M, 默认是24M


  ro.config.ringtone=Playa.ogg                       默认来电铃声


  ro.config.notification_sound=regulus.ogg                            默认通知铃声


  ro.config.alarm_alert=Alarm_Beep_03.ogg                         默认闹钟铃声


  ro.modversion=CyanogenMod-7.0.3-GT540-MUR4IK   MOD版本号


  ro.setupwizard.mode=DISABLED   刷机后设置向导,ENABLED为显示,DISABLED为禁用,OPTIONAL为可选


  persist.sys.timezone=Asia/shanghai”默认时区


  media.stagefright.enable-player=true   与多媒体效果有关 


  media.stagefright.enable-meta=false  与多媒体效果有关 


  media.stagefright.enable-scan=false  与多媒体效果有关 


  media.stagefright.enable-http=false  与多媒体效果有关 


  persist.service.adb.enable=1 开启调试模式


  ro.secure=0 默认开启未知源APK


  ro.allow.mock.location=1 开启模拟位置


  settings.display.autobacklight=1       自动背光默认为开


  debug.sf.nobootanimation=0             控制开机动画的,0为关闭,1为开启!


  ro.config.hw_menu_unlockscreen=true 控制唤醒屏幕的设置


  ro.sf.lcd_density=120 (显示屏分辨率,数值越大分辨率越底)


  view.touch_slop=15 (触摸屏灵敏度,数值越大越灵敏)


  view.minimum_fling_velocity=25 (滑动速度)


  view.scroll_friction=0.008 (滑动误差)


  # RIL specific configuration. (特定设置)


  ro.ril.hsdpa.category=8 (hsdpa全称High Speed Downlink Packet Access中文意思:高速下行分组接入,设置的数越大传输越快)


  ro.ril.gprsclass=12 (GPRS设置)


  # For HSDPA low throughput (HSDPA低输量)


  ro.ril.disable.power.collapse=1 (关闭电源)


  # Modify MMS APN retry timer from 5s to 2s. (修改短信的APN设置5秒为2秒)


  keyguard.no_require_sim=true (手机卡保护设置)


  ro.com.android.dateformat=MM-dd-yyyy (默认时间格式,改为yyyy-MM-dd,显示效果就是XXXX年XX月XX日)


三、设置系统属性值(实例)


1.定义: RO_CONFIG_REMOVE_FOCUSMODE


  在mediatek\build\tools\Configoption.pm中


  定义,RO_CONFIG_REMOVE_FOCUSMODE


2.赋值:RO_CONFIG_REMOVE_FOCUSMODE = true


  在mediatek\config\huaqin75_cu_ics\XXX\ProjectConfig.mk中


  赋值,RO_CONFIG_REMOVE_FOCUSMODE = true


3.使用:在代码XXX.java中使用




实例一:


    import android.os.SystemProperties;        //导包


  ……


final boolean RemoveFocusMode = SystemProperties.getBoolean(


“ro.config.remove.focusmode”,false);  //获得属性值




if (RemoveFocusMode == true) {            //使用属性值


        // Remove the focus mode if we can use tap-to-focus.


                removePreference(group, focusMode.getKey());


}


else{



           ……


}


  可以定义这样的系统属性值(布尔值)来取代宏FeatureOption,从而达到控制代码的目的。


  


实例二:


另外,这样的用法在情景模式中用得非常多,对初始音量值的定义。


赋值:RO_CONFIG_GENERAL_VOLUME_RING = 7


  RO_CONFIG_OUTDOOR_VOLUME_RING = 7(ProjectConfig.mk中)


使用: private static final int DEFAULT_RINGER_VOLUME_GENERAL = SystemProperties.getInt(“ro.config.general.volume.ring”, 4);


      private static final int DEFAULT_RINGER_VOLUME_OUTDOOR = SystemProperties.getInt(“ro.config.outdoor.volume.ring”, 6);


  也即在生成的build.prop中:


  ro.config.general.volume.ring=7


  ro.config.outdoor.volume.ring=7


  


实例三:


  还可以定义初始的字符串的值,例如查询命令:*#8375#。


  赋值:RO_CONFIG_VERSIONCODE = *_86556_(客户要求指令)


  使用:final String specialVersionCode = SystemProperties.get(


   “ro.config.versioncode”, “defaultVersionCode”);


  specialCode = specialVersionCode.replace(“_”, “#”);


  (这当中以” _”代替” #”)

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
如需转载请保留出处:https://bianchenghao.cn/34216.html

(0)
编程小号编程小号

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注