栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

怎么在Android系统中增加系统属性?

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

怎么在Android系统中增加系统属性?

        系统属性:就是在整个Android系统中都是可以调用的属性,比如我们某个功能,在fw层和c层都有改动,我们需要用一个变量去控制这个功能是否启用和关闭,这就需要用到全局的系统属性;

        /system/build.prop 是一个属性文件,在Android系统中.prop文件很重要,记录了系统的设置和改变。这个文件是如何生成的呢?

build/tools/buildinfo.sh 脚本就是专门用于生成build.prop文件,
build/core/Makefile中使用build/tools/buildinfo.sh 脚本生成build.prop文件,所以我们要添加系统属性,主要就是在buildinfo.sh、Makefile和version_defaults.mk中

        记录一下我新增系统属性的流程:

        1、需求:公司领导让我新增一个功能,这个功能在fw层和c层都有改动,然后需要控制这个功能的启动和关闭(每次编译都去删除代码这肯定不太现实),所以需要加一个系统属性,每次编译修改这个系统属性就行

        2、首先我们需要在/build/core/version_defaults.mk中增加字段,

        TARGET_ConFIGURE := false

 

        然后需要在build/tools/buildinfo.sh中增加

   echo "ro.product.configure=$TARGET_CONFIGURE"

        最后需要在build/core/Makefile中添加

    TARGET_ConFIGURE="$(TARGET_CONFIGURE)"

        最后编译,编译完成后就会在 /out/target/product//system/build.prop中出现加入的ro.product.configure属性,

        如果需要修改属性的值,只需要更改/build/core/version_defaults.mk即可

        使用:我们定义了系统属性,肯定是需要调用在fw层调用的方法是:

        getString("ro.product.configure")

        在C层调用的方法是:

        property_get("ro.product.configure", value, "") 注:value是接收的字段

       在adb获取系统属性的方法是:

                adb shell getprop   //获取系统全部属性

                adb shell getprop "ro.product.configure" //获取某个属性

                adb shell setprop "ro.product.configure" "12"   //设置某个属性的值  ro开头的为只读属性,不可设置

由于我刚接触系统层源码,可能还处于比较菜的地步,如果有错误的地方,麻烦大佬指点下,感谢感谢........

        

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/606173.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号