`
quanminchaoren
  • 浏览: 926480 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Android SystemProperties简介

阅读更多

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 应用获取SystmeProperity的两种方式

    在Android开发中,有时我们需要获取系统的属性值,例如设备型号、系统版本等,这些属性通常存储在`SystemProperties`中。本篇文章将详细介绍非系统应用如何通过Java层和Native层两种方式来获取`SystemProperties`的...

    Android高版本源码编译提示error: cannot find symbol import android.os.SystemProperties

    cannot find symbol import android.os.SystemProperties 前言   最近在搞Android高版本的9和10开发,正在敲着代码唱着歌,发现在Android源码目录的app下面导入import android.os.SystemProperties这个包老是不行...

    [android平台][获取手机IMSI、IMEI、序列号及手机号的用法]

    String IMSI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMSI); ``` 2. 获取 IMEI 标识 获取 IMEI 标识可以使用两种方法: 1. 使用 `TelephonyManager` 类: ```java ...

    Android8.1 SystemUI源码

    在Android系统中,SystemUI是用户界面的核心组成部分,它负责管理状态栏、通知中心、快速设置等关键功能。本文将深入探讨Android 8.1版本的SystemUI源码,介绍其结构、工作原理以及如何利用提供的gradle配置进行开发...

    layoutlib.jar

    Systemproperties类在android.os下,但这个类是隐藏的,设置系统属性调用 SystemProperties可以通过添加jar,得到相关调用

    android属性详解

    android属性详解 android:layout_above 将该控件的底部置于给定ID的控件之上; android:layout_below 将该控件的底部置于给定ID的控件之下; android:layout_toLeftOf 将该控件的右边缘与给定ID的控件左边缘对齐;

    Android SDK (SDK Platforms)-android-29.zip

    《深入解析Android SDK (SDK Platforms) - android-29》 Android SDK(Software Development Kit)是开发者构建、调试和发布Android应用所必需的核心工具集合。其中,SDK Platforms是SDK的一个重要组成部分,它包含...

    Android代码-androidjava通用代码关于用properties存储打印的Log.zip

    这个名为"Android代码-androidjava通用代码关于用properties存储打印的Log.zip"的压缩包提供了一个解决方案,即使用Properties类来存储和读取日志。 Properties类是Java标准库中的一个类,主要用于处理属性键值对,...

    SystemProperties:Adobe Air本机扩展系统属性

    SystemProperties类可以提供一些Adobe无法获得的缺少的属性。 还可以检查IOS是否可以与其他程序一起打开URL。 setNetworkActivityIndi​​catorVisibility 用法(徽章): if(SystemProperties.isBadgeSupported...

    获取Android手机或平板唯一识别号(imei或meid).rar

    在Android平台上,开发人员经常需要获取设备的唯一标识符,如IMEI或MEID,用于设备注册、数据分析或实现特定功能。IMEI(国际移动设备识别码)是全球范围内为移动电话分配的唯一序列号,而MEID(移动设备电子序列号...

    android平台获取手机IMSI,IMEI ,序列号,和 手机号的方法

    String IMSI = android.os.SystemProperties.get(android.telephony.TelephonyProperties.PROPERTY_IMSI); ``` (2)使用 TelephonyManager 获取 IMSI 号: ```java TelephonyManager tm = (TelephonyManager) ...

    android系统中调用shell脚本

    ProcessBuilder pb = new ProcessBuilder("/system/bin/sh", "-c", "/sdcard/myscript.sh"); Process process = pb.start(); ``` 4. **使用`dalvikvm-heap`权限**:在AndroidManifest.xml中添加`<uses-permission ...

    Android多用户实现和原理

    && SystemProperties.getBoolean("fw.show_multiuserui", Resources.getSystem().getBoolean(R.bool.config_enableMultiUserUI)); } ``` 值得注意的是,多用户的操作并未向普通应用程序开放,相关的API都标有`@...

    Android 通过反射调用获取内置存储和外置sd卡根路径(适用于各个版本)

    Class<?> systemPropertiesClass = Class.forName("android.os.SystemProperties"); Method getMethod = systemPropertiesClass.getMethod("get", String.class); String externalSdCardPath = (String) ...

    Android Studio 2021离线环境配置教程完整介绍

    def reposDir = new File(System.properties['user.home'], ".android/manual-offline-m2") def repos = new ArrayList() reposDir.eachDir {repos.add(it) } repos.sort() allprojects { buildscript { ...

    it.bankadati.mib.systemproperties:每个WP的Cordova插件ettura系统属性

    【标题】"it.bankadati.mib.systemproperties: 每个WP的Cordova插件ettura系统属性" 【正文】 在移动应用开发领域,Cordova是一个广泛使用的框架,它允许开发者使用HTML、CSS和JavaScript来构建原生的移动应用程序...

    android 双网卡

    可以使用`ifconfig`命令(在某些Android设备的shell环境中可用)或通过编程方式(如使用`SystemProperties`类)来设置。每个网络接口的IP、子网掩码和默认网关应根据网络环境分别设定。 5. **网络策略**:对于双...

    Android Studio2.3.3版本汉化

    一、Android Studio 2.3.3简介 Android Studio 2.3.3是Google推出的一个稳定版本,它包含了一系列增强功能和性能优化。此版本提供了更快的编译速度、改进的调试工具以及对新Android API的支持。然而,对于中文用户来...

    Android代码-安卓设备信息

    - **SystemProperties类**:虽然不是公开API,但可以通过反射访问`android.os.SystemProperties`,获取更详细的CPU信息,如CPU核心数量。 3. **显示信息**: - **DisplayMetrics类**:`DisplayMetrics`对象提供了...

Global site tag (gtag.js) - Google Analytics