属性变更的请求时init事件循环处理的另一个事件,在Android平台中,为了让运行中的所有进程共享系统运行时所需要的各种设置值,系统开辟了属性存储区域,并提供了访问该区域的API。属性由键(key)与值(value)构成,其表现形式为“键=值”。在Linux系统中,属性服务主要用来设置环境变量,提供各进程访问设定的环境变量值。在Android平台中,在访问属性值时,添加了访问权限控制,增强了访问的安全性。系统中所有运行中的进程都可以访问属性值,但仅有init进程才能修改属性值。其他进程修改属性值时,必须向init进程提出请求,最终由init进程负责修改属性值。在此过程中,init进程会先检查各属性的访问权限,而后再修改属性值,当属性值更改后,若定义在init.rc文件中的某个特定条件得到满足,则与此条件相匹配的动作就会发生,每个动作都有一个触发器,决定动作的执行时间,记录在“on property”关键字后的命令即被执行。

root@sabresd_6dq:/ # getprop
[CPU]: [i.MX6 Cortex A9 .0GHz]
[FileSystemVersion]: []
[RAM]: [DDR3 .0GB]
[SoftwarePartNumber]: [0713625406xx]
[alsa.mixer.capture.headset]: [Capture]
[alsa.mixer.capture.master]: [Capture]
[alsa.mixer.playback.headset]: [Headphone]
[alsa.mixer.playback.master]: [Playback]
[alsa.mixer.playback.speaker]: [Playback]
[back_camera_orient]: []
[camera.disable_zsl_mode]: []
[dalvik.vm.dex2oat-Xms]: [64m]
[dalvik.vm.dex2oat-Xmx]: [512m]
[dalvik.vm.dexopt-flags]: [m=y]
[dalvik.vm.heapgrowthlimit]: [80m]
[dalvik.vm.heapmaxfree]: [8m]
[dalvik.vm.heapminfree]: [512k]
[dalvik.vm.heapsize]: [384m]
[dalvik.vm.heapstartsize]: [8m]
[dalvik.vm.heaptargetutilization]: [0.75]
[dalvik.vm.image-dex2oat-Xms]: [64m]
[dalvik.vm.image-dex2oat-Xmx]: [64m]
[dalvik.vm.isa.arm.features]: [default]
[dalvik.vm.stack-trace-file]: [/data/anr/traces.txt]
[debug.egl.hw]: []
[debug.force_rtl]: []
[debug.sf.enable_hgl]: []
[debug.sf.showfps]: []
[dev.bootcomplete]: []
[front_camera_orient]: []
[gsm.current.phone-type]: []
[gsm.network.type]: [Unknown]
[gsm.operator.alpha]: []
[gsm.operator.iso-country]: []
[gsm.operator.isroaming]: [false]
[gsm.operator.numeric]: []
[gsm.ril.delay]: []
[gsm.sim.operator.alpha]: []
[gsm.sim.operator.iso-country]: []
[gsm.sim.operator.numeric]: []
[gsm.sim.state]: [NOT_READY]
[hw.backlight.dev]: [pwm-backlight.]
[hwc.enable_dither]: []
[hwc.stretch.filter]: []
[init.svc.adbd]: [running]
[init.svc.bootanim]: [stopped]
[init.svc.console]: [running]
[init.svc.debuggerd]: [running]
[init.svc.drm]: [running]
[init.svc.healthd]: [running]
[init.svc.installd]: [running]
[init.svc.keystore]: [running]
[init.svc.lmkd]: [running]
[init.svc.logd]: [running]
[init.svc.media]: [running]
[init.svc.netd]: [running]
[init.svc.ril-daemon]: [running]
[init.svc.sdcard]: [running]
[init.svc.servicemanager]: [running]
[init.svc.surfaceflinger]: [running]
[init.svc.ueventd]: [running]
[init.svc.vold]: [running]
[init.svc.watchdogd]: [running]
[init.svc.wifi_mac]: [stopped]
[init.svc.zygote]: [running]
[media.omxgm.enable-player]: []
[media.omxgm.enable-record]: []
[media.omxgm.enable-scan]: []
[media.wfd.video-bitrate]: []
[net.bt.name]: [Android]
[net.change]: [net.qtaguid_enabled]
[net.hostname]: [android-83a3ccab22cf4b3e]
[net.qtaguid_enabled]: []
[net.tcp.default_init_rwnd]: []
[persist.sampling_profiler]: []
[persist.sys.dalvik.vm.lib.]: [libart.so]
[persist.sys.profiler_ms]: []
[persist.sys.strictmode.disable]: []
[persist.sys.strictmode.visual]: []
[persist.sys.usb.config]: [mtp,adb]
[ro.FSL_AAC_PARSER]: []
[ro.FSL_ASF_PARSER]: []
[ro.FSL_AVI_PARSER]: []
[ro.FSL_FLAC_PARSER]: []
[ro.FSL_FLV_PARSER]: []
[ro.FSL_MKV_PARSER]: []
[ro.FSL_MPG2_PARSER]: []
[ro.FSL_REAL_PARSER]: []
[ro.adb.secure]: []
[ro.allow.mock.location]: []
[ro.baseband]: [unknown]
[ro.board.platform]: [imx6]
[ro.boot.console]: [ttymxc0]
[ro.boot.hardware]: [freescale]
[ro.boot.selinux]: [disabled]
[ro.boot.serialno]: [102231d4e6b416f0]
[ro.boot.storage_type]: [emmc]
[ro.bootloader]: [unknown]
[ro.bootmode]: [unknown]
[ro.build.characteristics]: [tablet]
[ro.build.date.utc]: []
[ro.build.date]: [三 6月 :: CST ]
[ro.build.description]: [sabresd_6dq-user 5.1. 2.1.-ga-rc3 release-keys]
[ro.build.display.id]: [2.1.-ga-rc3 release-keys]
[ro.build.fingerprint]: [Freescale/sabresd_6dq/sabresd_6dq:5.1./2.1.-ga-rc3/:user/release-keys]
[ro.build.flavor]: [sabresd_6dq-user]
[ro.build.host]: [imx6]
[ro.build.id]: [2.1.-ga-rc3]
[ro.build.product]: [sabresd_6dq]
[ro.build.tags]: [release-keys]
[ro.build.type]: [user]
[ro.build.user]: [lee]
[ro.build.version.all_codenames]: [REL]
[ro.build.version.base_os]: []
[ro.build.version.codename]: [REL]
[ro.build.version.incremental]: []
[ro.build.version.release]: [5.1.]
[ro.build.version.sdk]: []
[ro.build.version.security_patch]: [--]
[ro.carrier]: [unknown]
[ro.config.alarm_alert]: [Alarm_Classic.ogg]
[ro.config.notification_sound]: [OnTheHunt.ogg]
[ro.crypto.state]: [unencrypted]
[ro.dalvik.vm.native.bridge]: []
[ro.debuggable]: []
[ro.factorytest]: []
[ro.hardware.lightsensor]: [/sys/class/i2c-dev/i2c-/device/-/]
[ro.hardware]: [freescale]
[ro.lightsensor.threshold]: []
[ro.opengles.version]: []
[ro.product.board]: [SABRESD]
[ro.product.brand]: [Freescale]
[ro.product.cpu.abi2]: [armeabi]
[ro.product.cpu.abi]: [armeabi-v7a]
[ro.product.cpu.abilist32]: [armeabi-v7a,armeabi]
[ro.product.cpu.abilist64]: []
[ro.product.cpu.abilist]: [armeabi-v7a,armeabi]
[ro.product.device]: [sabresd_6dq]
[ro.product.locale.language]: [en]
[ro.product.locale.region]: [US]
[ro.product.manufacturer]: [Freescale]
[ro.product.model]: [SABRESD-MX6DQ]
[ro.product.name]: [sabresd_6dq]
[ro.revision]: []
[ro.ril.wake_lock_timeout]: []
[ro.runtime.firstboot]: []
[ro.secure]: []
[ro.serialno]: [102231d4e6b416f0]
[ro.sf.hwrotation]: []
[ro.sf.lcd_density]: []
[ro.soc]: [i.MX6DL]
[ro.tether.denied]: [false]
[ro.wifi.channels]: []
[rw.VIDEO_RENDER_NAME]: [video_render.surface]
[selinux.reload_policy]: []
[service.bootanim.exit]: []
[sys.boot_completed]: []
[sys.emulated.battery]: []
[sys.interactive]: [active]
[sys.sysctl.extra_free_kbytes]: []
[sys.usb.config]: [mtp,adb]
[sys.usb.state]: [mtp,adb]
[vold.post_fs_data_done]: []
[wifi.ap.interface]: [wlan0]
[wifi.interface]: [wlan0]
[wlan.interface]: [wlan0]

i.mx6 Android5.1.1 系统属性的更多相关文章

  1. i.mx6 Android5.1.1 初始化流程之框架

    Android启动过程分为以下几个步骤: 1.  Boot ROM:  上电后启动芯片固话代码. 2.  BootLoader:固话代码会根据启动模式启动bootloader,(一般为启动引脚的电平的 ...

  2. i.mx6 Android5.1.1 初始化流程之init进程(未完成)

    概述: 接在i.mx6 Android5.1.1 初始化流程之框架之后 参考资料:http://blog.csdn.net/mr_raptor/article/category/799879 相关源码 ...

  3. i.mx6 Android5.1.1 初始化流程之init.rc解析(未完成)

    接上一篇:i.mx6 Android5.1.1 初始化流程之init进程 参考资料:http://blog.csdn.net/mr_raptor/article/category/799879 这个博 ...

  4. i.mx6 Android5.1.1 System server

    1. 概述: 1. Zygote进程是Android Java世界的开创者,所有的Java应用程序进程都由Zygote进程创建: 2. Zygote创建应用程序进程过程其实就是复制自身进程地址空间作为 ...

  5. Android 系统属性

    /************************************************************************ * Android 系统属性 * 说明: * 由于需 ...

  6. 【用户交互】APP没有退出前台但改变系统属性如何实时更新UI?监听系统广播,让用户交互更舒心~

    前日,一小伙伴问我一个问题,说它解决了半天都没解决这个问题,截图如下: 大概楼主理解如下: 如果在应用中有一个判断wifi的开关和一个当前音量大小的seekbar以及一个获取当前电量多少的按钮,想知道 ...

  7. Android系统属性简介

    查看Android源码你会发现,代码中大量存在:SystemProperties.set()/SystemProperties.get():通过这两个接口可以对系统的属性进行读取/设置,顾名思义系统属 ...

  8. 修改Android系统属性SystemProperties.set("sys.powerctl", "shutdown")关机分析

    简介: 从之前的博文中我们提到过,关机流程中最后是通过修改Android属性进行关机操作(SystemProperties.java通过JNI调用访问系统属性),当然我们也可以通过adb命令修改And ...

  9. Maven如何传递系统属性变量到TestNG

    本文介绍如何传递Maven pom.xml里的系统属性参数到TestNG,文章沿用笔者一贯的风格--例子驱动. 解决什么问题 1. 用过WebDriver的都知道,当你启动Chrome或IE的时候都需 ...

随机推荐

  1. LINQ to Entities 查询中的标准查询运算符

    投影和筛选方法 投影指的是转换的结果集到所需的窗体中的元素. 例如,可以从结果集中的每个对象投影所需的属性子集,可以投影一个属性并对其执行数学计算,也可以从结果集投影整个对象. 投影方法有 Selec ...

  2. C语言/C++编程学习:不做C/C++工作也要学C/C++的原因!

    C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构.C程序的设计首要考虑的是如何通过一个过程,对输入(或环境条件)进行运算处理得到输出(或实现 ...

  3. C# 收银机顾显(客显)及打印小票(58热敏打印机)

    最近做winform收银机,设计顾显及打印小票总结. 1.顾显(串口COM1) 只涉及到总计,所以只是简单的功能. public static ClientDisplayResult Display( ...

  4. mysql--数据库的简单认识

    一.数据库的简单认识 1.数据库 1.数据库,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据运行新增. 截取.更新.删除等操作.所谓“数据库”系以一定方式储存在一起.能予多 ...

  5. WPF 无边框拖动

    无边框之后的拖动方法有三种. 我个人是喜欢第一和第三的方法,看个人去需求. 第三种代码比较仓促,有需要者可以立马用,或者稍作整理修改. 对于WIN10 .NET 4.5以上的框架可以使用 WIndow ...

  6. Linux下查找命令

    在CentOs下查找某个目录下的某个文件,使用如下指令: find /目录 -name 文件名 eg:查找当前目录下关于hadoop的文件 find / -name hadoop

  7. 用flask实现一个用户登录的功能

    #!/usr/bin/python #coding=utf-8 from flask import Flask,session,redirect,url_for,request app=Flask(_ ...

  8. AngularJS源码解析3:RootScope的创建过程

    RootScopeProvider简介 RootScopeProvider是angularjs里面比较活跃的一个provider.它主要用来生成实例rootScope,它代表angularjs应用的根 ...

  9. max,min无法使用的问题

    遇到了包含algorithm头文件以后 min或max函数不能用的问题 改成__min和__max以后就可以了

  10. Python中 '==' 与'is' 以及它们背后的故事

    摘要 比较判断逻辑是在代码中经常使用的,在Python中常用 '==' 和 is 来做比较判断. ==  :  双等号是用来比较变量所指向内存单元中的值是否相等,它只关心值,并不在意值的内存地址,也就 ...