zoukankan      html  css  js  c++  java
  • Android的系统属性SystemProperties

    创建与修改android属性用Systemproperties.set(name, value)

    获取android属性用Systemproperties.get(name)

    注意:android属性的名称是有一定的格式要求的,如下:前缀必须用systemcoreinitproperty_service.c中定义的前缀,进行系统属性设置的程序也必须有system或root权限

    提升到system权限的方法:

    1、在AndroidManifest.xml中,在manifest加入android:sharedUserId="android.uid.system"

    2、在Android.mk中,將LOCAL_CERTIFICATE := XXX修改成LOCAL_CERTIFICATE :=platform

    Android 的系统属性包括两部分:文件保存的持久属性和每次开机导入的cache属性。

    前者主要保存在下面几个文件中:

    bionic/libc/include/sys/_system_properties.h

    #define PROP_SERVICE_NAME "property_service"
    #define PROP_PATH_RAMDISK_DEFAULT  "/default.prop"
    #define PROP_PATH_SYSTEM_BUILD     "/system/build.prop"
    #define PROP_PATH_SYSTEM_DEFAULT   "/system/default.prop"
    #define PROP_PATH_LOCAL_OVERRIDE   "/data/local.prop"

    后者则通过frameworks/base/core/java/android/os/SystemProperties.java的接口定义,

    private static native String native_get(String key);
        private static native String native_get(String key, String def);
         private static native void native_set(String key, String def);
        public static void set(String key, String val) {
             if (key.length() > PROP_NAME_MAX) {
              throw new IllegalArgumentException("key.length > " + PROP_NAME_MAX);
           }
           if (val != null && val.length() > PROP_VALUE_MAX) {
             throw new IllegalArgumentException("val.length > " +
             PROP_VALUE_MAX);
    }
      native_set(key, val);
    }

    ADB设置系统属性和获取系统属性的命令如下(adb需要有root权限才能设置成功):

    adb shell setprop persist.panel.orientation 90

    adb shell getprop persist.panel.orientation

          如果属性名称以“ro.”开头,那么这个属性被视为只读属性。一旦设置,属性值不能改变。

      如果属性名称以“persist.”开头,当设置这个属性时,其值也将写入/data/property。

      如果属性名称以“net.”开头,当设置这个属性时,“net.change”属性将会自动设置,以加入到最后修改的属性名。

  • 相关阅读:
    Ubuntu mongodb 安装和配置
    最基本的SQL语法/语句
    Sphinx学习之sphinx的安装篇
    六关节机器人的雅可比矩阵及微分运算
    六关节机器人的逆运动学计算
    六关节机器人的正运动学计算
    六关节机器人末端的微分运动
    Python3 升级pip
    一般多项式曲线的最小二乘回归(Linear Regression)
    关于卡尔曼滤波(Kalman Filter)的很好讲解
  • 原文地址:https://www.cnblogs.com/l2rf/p/5543501.html
Copyright © 2011-2022 走看看