zoukankan      html  css  js  c++  java
  • Android系统中 setprop,getprop,watchprops命令的使用

    如:在frameworks/opt/net/ims/src/java/com/android/ims/ImsManager.java

    if (SystemProperties.get("persist.mtk_dynamic_ims_switch").equals("1")) {  

    我们想知道系统中persist.mtk_dynamic_ims_switch的值是多少,可以用如下方法

    adb shell 进入android文件系统中:

    shell@GF179:/ $ getprop persist.mtk_dynamic_ims_switch
    0

    Android系统中,有一些初始化的配置文件,例如:

    /init.rc

    /default.prop

    /system/build.prop

    文件里面里面配置了开机设置的系统属性值,

    这些属性值,可以通过getprop获取,setprop设置,

    它的格式如下:

    getprop [key]

    获取指定key的配置值,如果不带参数,只是getprop则是显示系统所有的配置值。

    [dalvik.vm.heapsize]: [24m]

    [curlockscreen]: [1]

    [ro.sf.hwrotation]: [0]

    [ro.config.notification_sound]: [OnTheHunt.ogg]

    [ro.config.alarm_alert]: [Alarm_Classic.ogg]

    setprop [key] [value]
    设置指定key的属性值,
    watchprops
    监听系统属性的变化,如果期间系统的属性发生变化则把变化的值显示出来
    /system # watchprops
    1307501833 sys.settings_system_version = '37'
    1307501836 sys.settings_system_version = '38'
    1307501862 persist.sys.timezone = 'Asia/Hong_Kong'
    其实这三个命令都是toolbox的子命令,如果有兴趣的可以看在android源码中看到其对应的源码:
    system/core/toolbox/


    一般而言,我们在串口中输入getprop指令,会出现很多类似键值对的系统变量值,上图:




    这些都是系统值,然而这些都是都是底层创建的变量,例如在某个驱动程序中创建,但如果在java语言中想获得这些信息中的某个变量的值,怎么办呢?
    1,上一节我们讲解了,在java中如何调用linux的指令,主要通过如下代码实现:
                Process process =  Runtime.getRuntime().exec(com);
                InputStreamReader ir = new InputStreamReader(process.getInputStream());
                BufferedReader input = new BufferedReader(ir);

    2,我们想getprop和setprop既然都是命令,能不能也用上面的方面尝试得到值呢 ,当然。
         getprop 用法:getprop [key]
        setprop用法:setprop [key] [value]  
       注:实际中是没有中括号的。
    所以用法同上:
                Process process =  Runtime.getRuntime().exec("getprop ro.runtime.firstboot");
                InputStreamReader ir = new InputStreamReader(process.getInputStream());
                BufferedReader input = new BufferedReader(ir);
  • 相关阅读:
    数据库表结构变动发邮件脚本
    .net程序打包部署
    无法登陆GitHub解决方法
    netbeans 打包生成 jar
    第一次值班
    RHEL6 纯命令行文本界面下安装桌面
    C语言中格式化输出,四舍五入类型问题
    I'm up to my ears
    How to boot ubuntu in text mode instead of graphical(X) mode
    the IP routing table under linux@school
  • 原文地址:https://www.cnblogs.com/Ph-one/p/5868212.html
Copyright © 2011-2022 走看看