Android(安卓)SystemProperties
16lz
2021-01-26
Systemproperties类在android.os下,但这个类是隐藏的, 上层程序开发无法直接使用。其实用java的反射机制是可以使用这个类。何谓java反射机制,请自行研究学习,在此不做介绍,放到后续文章中。用JNI 的方式,可以绕过Systemproperties这个类,直接本地调用来实现创建、获取及修改系统属性。在此也不做介绍,也放到后续文章中。
这篇文章主要介绍android系统属性的命名方式:
创建与修改android属性用Systemproperties.set(name, value),获取android属性用Systemproperties.get(name),需要注意的是android属性的名称是有一定的格式要求的,如下:前缀必须用system\core\init\property_service.c中定义的前缀,进行系统属性设置的程序也必须有system或root权限,
如何将android程序的权限提升到system权限?方法是这样的:
1、在AndroidManifest.xml中,在manifest加入android:sharedUserId="android.uid.system"。
2、在Android.mk中,將LOCAL_CERTIFICATE := XXX修改成LOCAL_CERTIFICATE :=platform。
经过以上两步就可以把ap的权限提升到system权限了。但是用这种方法提升权限有两个弊端,如下:
1、程序的拥有都必须有程序的源码;
2、程序的拥有都还必须有android开发环境,就是说自己能make整个android系统。
一般能做这两点的,基本上都是开发人员!
更多相关文章
- Android布局属性android:clipToPadding的UI设计妙用
- Android系统启动流程简析
- 从零开始--系统深入学习android(已完成部分的目录--带链接)
- 基于Google Android(安卓)操作系统的机顶盒
- [置顶] 介绍下什么是android呢?
- android在apk中获取root权限,并执行命令
- android 优化之字节对齐
- Android(安卓)三种动画详解
- Android权限机制总结与常见权限不足问题分析