
Android相关
小小大青年
这个作者很懒,什么都没留下…
展开
-
Android init.rc解析
Android<span style="padding:0px; margin:0px; word-wrap:break-word">初始化语言由四大类声明组成:行为类<span lang="EN-US" style="padding:0px; margin:0px; word-wrap:break-word">(Actions),命令类(Commands),服务类<span lang转载 2017-04-10 08:40:29 · 176 阅读 · 0 评论 -
Android系统的开机画面显示过程分析
Android bootloader启动到kernel 分析: Android Kernel - Boot Loader http://blog.youkuaiyun.com/luoshengyang/article/details/7691321 好几个月都没有更新过博客了,从今天开始,老罗将尝试对android系统的UI实现作一个系统的分析,也算是落实之前所作出的转载 2017-06-24 12:06:37 · 702 阅读 · 0 评论 -
SELinux简介以及一些常用命令
1. 简介 SELinux(Security-Enhanced Linux) 是美国国家安全局「NSA=The National Security Agency」 和SCC(Secure Computing Corporation)开发的 Linux的一个扩张强制访问控制(MAC)安全模块,是 Linux® 上最杰出的新安全子系统。NSA是在Linux社区的帮助下开发了一种访问控转载 2017-05-17 17:27:14 · 3043 阅读 · 0 评论 -
如何设置SELinux 策略规则 ? 在Kernel Log 中出现"avc: denied" 要如何处理?
[Description]android KK 4.4 版本后,Google 默认启用了SELinux, 并会把SELinux 审查异常打印在kernel log 或者 android log(L 版本)中,对应的关键字是: "avc: denied" 或者"avc: denied"如一行LOG:[ 17.285600].(0)[503:idmap]type=1400 audit(1转载 2017-05-17 10:19:29 · 678 阅读 · 0 评论 -
RT throttling分析
Linux上调度策略为SCHED_FIFO的实时进程是根据优先级抢占运行的。当没有更高优先级的实时进程抢占,而此进程又由于bug等原因长时间运行,不调度其它进程,系统就会出现无响应。这里要分析的RT throttling就是针对此种情况的,它通过限制每个单位时间内分配给实时进程的CPU运行时间,来防止上述情况的出现。标准的设置是1s的时间内,实时进程的运行时间是950ms,其余转载 2017-05-23 14:40:35 · 2833 阅读 · 1 评论 -
android button light 流程分析(三) — framework
一、初始化信息首先看看Android中的几种电源状态定义,这几个值定义了不同的led开闭状态以及lcd背光的不同亮度模式:[java] view plain copyprint?// flags for setPowerState private static final int SCREEN_ON_BIT = 0x00000转载 2017-04-20 11:35:29 · 617 阅读 · 0 评论 -
android 休眠唤醒机制分析(三) — suspend
前面我们分析了休眠的第一个阶段即浅度休眠,现在我们继续看休眠的第二个阶段 — 深度休眠。在深度休眠的过程中系统会首先冻结所有可以冻结的进程,然后依次挂起所有设备的电源,挂起顺序与设备注册的顺序相反,这样保证了设备之间电源的依赖性;直至最后进入省电模式,等待用户或者RTC唤醒;在唤醒过程中则会按照设备注册的顺序依次恢复每个设备的电源进入正常工作状态,解冻相关的进程,然后再进行浅度休眠的唤醒流程。转载 2017-04-20 11:21:12 · 7844 阅读 · 0 评论 -
android 休眠唤醒机制分析(二) — early_suspend
early_suspend是Android休眠流程的第一阶段即浅度休眠,不会受到wake_lock的阻止,一般用于关闭lcd、tp等设备为运行的应用节约电能。Android的PowerManagerService会根据用户的操作情况调整电源状态,如果需要休眠则会调用到HAL层的set_screen_state()接口,在set_screen_state()中会向/sys/power/state节点转载 2017-04-20 11:05:59 · 1295 阅读 · 0 评论 -
Qcom android L ro.sf.lcd_density属性修改
在kernel里面kernel/drivers/video/fbsysfs.c会导出数据/sys/class/graphics/fb0/virtual_size在Y:\LA.BR.1.2.4-05310-8x16.0\device\qcom\common\init\init_msm8916.c 中获取virtual_size值,根据不同的屏幕大小设置ro.sf.lcd_de转载 2017-04-06 16:24:23 · 2299 阅读 · 0 评论 -
init.rc的使用
参考:system\core\init\readme.txt案例1:当开机启动完毕,写入mpp2的寄存器,使其设置为PWM模式。#add by eliot shao 2016.11.03 for mmp2-pwm functionon property:sys.boot_completed=1 write /sys/kernel/debug/spmi/spmi-0/addre转载 2017-04-06 16:16:36 · 1045 阅读 · 0 评论 -
如何编译andriod模块
首先介绍一下Android的编译系统。与Linux kernel的编译系统相比较,内核依赖于makefile文件,从顶层的makefile递归调用子目录中的makefile文件,完成对源码文件的编译。Android的编译系统不在依赖于makefile文件,而是make文件Android.mk。android由一个脚本会搜索目录和子目录第一个出现Android.mk文件,根据Android.mk转载 2017-04-06 15:30:33 · 363 阅读 · 0 评论 -
linux中的硬件抽象层
Android系统从宏观上可以看成一个图形系统,类似于QT,迷你GUI等开源的图形用户界面系统。但是android作为手机软件包,它还具有很多的其他功能是QT、MINIGUI不具备的,比如电话、定位、WIFI、sensor、摄像头等功能。Android集成了很多开源的代码,我们只需要在Linux层做好硬件的驱动程序剩下的很多软件开发工作android都是做好了的。烧写过手机固件的都知道,andro转载 2017-04-06 15:14:47 · 1677 阅读 · 0 评论 -
android 休眠唤醒机制分析(一) — wake_lock
Android的休眠唤醒主要基于wake_lock机制,只要系统中存在任一有效的wake_lock,系统就不能进入深度休眠,但可以进行设备的浅度休眠操作。wake_lock一般在关闭lcd、tp但系统仍然需要正常运行的情况下使用,比如听歌、传输很大的文件等。本文主要分析driver层wake_lock的实现。一、wake_lock 定义和接口[cpp] view plain转载 2017-04-19 10:02:30 · 1646 阅读 · 0 评论 -
android 电池 温度 屏幕亮度设计
import android.app.Activity;import android.content.BroadcastReceiver;import android.content.ContentResolver;import android.content.Context;import android.content.Intent;import android.conten转载 2017-04-18 19:25:59 · 237 阅读 · 0 评论 -
linux runtime pm机制的深入理解
一:runtime机制说明 何为runtime机制?也就是系统在非睡眠状态,设备在空闲时可以进入runtime suspend状态同时不依赖系统wake_lock机制,非空闲时执行runtime resume使得设备进入正常工作状态。 主要代码放在Runtime.c (drivers\base\power)中,同时附带的Runtime_pm.txt (documentati转载 2017-04-11 09:18:08 · 984 阅读 · 0 评论 -
Android 电源管理 -- wakelock机制
Wake Lock是一种锁的机制, 只要有人拿着这个锁,系统就无法进入休眠, 可以被用户态程序和内核获得. 这个锁可以是有超时的 或者 是没有超时的, 超时的锁会在时间过去以后自动解锁。如果没有锁了或者超时了, 内核就会启动休眠的那套机制来进入休眠.PowerManager.WakeLock 有加锁和解锁两种状态,加锁的方式有两种: 第一种是永久的锁住,这样的转载 2017-04-10 08:41:45 · 416 阅读 · 0 评论 -
wake_up_interruptible 函数
功能:唤醒注册到等待队列上的进程原型: #include void wake_up_interruptible (wait_queue_head_t *q);说明: 唤醒 q 指定的注册在等待队列上的进程。该函数不能直接的立即唤醒进程,而是由调度程序转换上下文,调整为可运行状态。变量:q : 等待队列变量指针。转载 2017-06-24 12:13:02 · 1859 阅读 · 0 评论