Android property使用

Android property使用

介绍: Property 变量是android的系统属性,在平常开发时候非常便利,添加了之后就好像给了个全局变量,用来区分流程分支、添加功能、android各层直接交互、记录数据、绕开SElinux执行自定义添加的可执行程序等等都是非常好用的。

如何使用:

1. 在java应用里设置属性(暂时未用过):
import android.os.SystemProperties;
SystemProperties.set("persist.sv.debug",”hello_data”);
在java里取得属性:
String vmHeapSize = SystemProperties.get("dalvik.vm.heapgrowthlimit", "24m");

2. 在native C/C++中设置属性:
#include "cutils/properties.h"
property_set("persist.sv.debug", "hello_data");
在C中取得属性:
  char encrypted_state[32];
  property_get("persist.sv.debug", encrypted_state, "");
最后一个参数是默认值。
    
3. 在rc文件中使用property,app直接使用系统属性打开应用,在调试串口直接设置系统属性打开应用。这样的写法也可以绕过selinux
service testService /vendor/bin/test
	user root
	group root
	seclabel u:r:evs_app:s0
	disabled
	oneshot

on property:test.up_enable=1
	start testService 

on property:test.up_enable=0
	stop testService 

系统属性的存储

这就涉及到property机制的详细原理了。这篇博客中介绍得非常深入理解property

本文仅记录平常多留意的内容。

在启动中会依次加载:
以下路径的记录的系统属性
/default.prop
/system/build.prop
/system/default.prop
/data/local.prop
/data/property/* #在这里记录了很多persist.的系统的一份拷贝。

persist也指代着能实现关机记忆的效果。
ro
指代着只读系统属性
net标识着网络使用到的系统属性,当设置之后,需要设置net.change属性更新值。
usb
也有着许多设置adb,carplay,usb限制等系统属性

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值