![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Android framework
文章平均质量分 75
记录Android framework相关知识
sdkdlwk
做一位名副其实的工匠
合作,请私信!
展开
-
Android P 背光机制流程分析
在android 9.0中,相比android 8.1而言,背光部分逻辑有较大的调整,这里就对android P背光机制进行完整的分析。原创 2024-01-26 10:14:33 · 11304 阅读 · 0 评论 -
Android P 屏保和休眠相关知识
Android P添加屏保功能,如果休眠时间设定大于屏保时间,则先进入屏保,达到休眠时间后再进入休眠需求:修改后的屏保: 分析与实现:由于Android原生系统默认进入屏保的条件是充电或插入基座时,但到达休眠时才进入屏保。所以需要把进入屏保的条件修改为任何时候都能进入。2.在设置–>显示–>屏保中添加“屏幕互保”选项开关2.1添加系统自定义全局变量,用来保存“屏幕互保”选项开关的状态值2.2 vendor/mediatek/proprietary/packages/apps/MtkSett原创 2024-01-26 08:59:07 · 11169 阅读 · 0 评论 -
Android系统禁止进入深休眠的方法
在PowerManagerService中mWakeLockSuspendBlocker是控制CPU休眠的锁。mDisplaySuspendBlocker是控制显示开关的锁。通过查看文件,亮屏时看到的也是这两个锁:当按下电源键,会调用goToSleep—>goToSleepInternal —>goToSleepNoUpdateLocked—>updatePowerStateLocked;原创 2024-01-08 15:25:31 · 10479 阅读 · 0 评论 -
MTK Android P Sensor架构(二)
kernel层框架的要点大概就这么多,不同的sensor,基本的驱动流程都类似,读完我这系列文章后应该就能一通百通了。原创 2023-12-12 22:48:04 · 47241 阅读 · 0 评论 -
MTK Android P Sensor架构(一)
本来如果只是给传感器写个驱动并提供能读取温湿度数据的节点,是一件比较轻松的事情,但是最近上层应用的同事要求我们按照安卓标准的流程来,这样他们就能通过注册一个服务直接读取传感器事件数据了。这样做的好处就是第三方的应用也能正常读取温湿度的数据并展示。原创 2023-12-12 22:26:58 · 47500 阅读 · 1 评论 -
Android P 9.0 增加以太网静态IP功能
在 mobile_network_settings 和 tether_settings 之间增加如上代码,对应的 icon 资源文件是我从 SystemUI 中拷贝过来的,稍微调整了下大小,也贴给你们吧到这一步 Settings 的修改就完成了,就能实现上图的效果了,你可以mm push看效果了如果你编译报错,大概是 Settings 中没有添加对应的变量,我的本来就有的,没有的可参考下面的加一下加完后你需要先 make update-api成功后,在重新 mm 编译应该就好了。原创 2023-12-07 15:45:09 · 47755 阅读 · 0 评论 -
Android framework定制1-->用户无操作一段时间,自动播放客户提供的视频,用户操作后退出播放
【代码】Android framework定制1-->用户无操作一段时间,自动播放客户提供的视频,用户操作后退出播放。原创 2023-12-03 00:03:09 · 46606 阅读 · 0 评论 -
mtk平台dump系统分区(内含RK平台)
mtk平台dump系统分区声明郑重声明:博文为原创内容,可以转载或引用,但必须在明显位置标明原文作者和出处,未经同意不得擅自修改本文内容!博客地址:http://blog.csdn.net/luzhenrong451. 为什么要dump Android分区?一般来讲,Android设备可以正常开机情况下,我们可以通过各种方式和手段访问Android各个分区内容,比如通过adb获取ca...原创 2019-05-06 20:50:58 · 12441 阅读 · 0 评论 -
android修改触摸屏添加唤醒功能参考
tp触摸唤醒功能原创 2022-11-28 18:51:56 · 42791 阅读 · 1 评论 -
Android编译差分包命令
RK3288 可以使用下面的脚本mkota.sh#!/bin/bash./build/tools/releasetools/ota_from_target_files -v \ -k vendor/XXX/security/releasekey --block \ -i rockdev/YYY.8_target_files.zip rockdev/YYY.9_target_files.zip rockdev/ZZZ.zip原创 2021-09-27 17:01:59 · 38876 阅读 · 0 评论 -
PMS构造函数流程分析
1、相关代码文件frameworks\base\services\core\java\com\android\server\pm\PackageManagerService.javaframeworks\base\services\core\java\com\android\server\pm\Settings.javaframeworks\base\services\core\jav...转载 2019-05-06 20:47:05 · 522 阅读 · 0 评论 -
Android 给 app默认权限(不弹窗申请权限)
1.系统app系统app的权限默认开启,大家应该都知道是修改DefaultPermissionGrantPolicy.java。frameworks/base/services/core/java/com/android/server/pm/DefaultPermissionGrantPolicy.java在grantDefaultSystemHandlerPermissions中可以...原创 2019-08-02 16:40:13 · 23180 阅读 · 0 评论 -
tp 双击唤醒 最终实现方案 参考
折腾许久,终于调试出一个比较满意的版本,采用的许多方法跟上一篇不一样,在这里重新整理。 注册和上报键值这里就不在累赘了,本篇博客主要要解决以下bug: 1.系统进入睡眠状态后,如何通过tp唤醒系统。 2.如何解决快速双击时唤醒系统,长按时不唤醒系统。要唤醒进入睡眠状态的系统,首先要了解以下函数接口:在了解函数接口前,讲一下suspend和resume,Suspend:kernel会依次调用你注册驱动里的suspend函数,将各种外设都进入节电模式。最后CPU进入power down 模式..原创 2020-09-03 09:50:51 · 5977 阅读 · 2 评论 -
Android or Linux 的休眠与唤醒
Linux休眠/唤醒简介休眠/唤醒在嵌入式Linux中是非常重要的部分,嵌入式设备尽可能的进入休眠状态来延长电池的续航时间。这篇文章就详细介绍一下linux中休眠/唤醒是如何工作的,还有Android中如何把这部分和Linux的机制联系起来的.在Linux中,休眠主要分三个主要的步骤:1)冻结用户态进程和内核态任务2)调用注册的设备的suspend的回调函数,顺序是按照注册顺序转载 2017-06-26 18:11:56 · 4544 阅读 · 0 评论 -
Android 关机流程分析-----(2)JNI和kernel层
最近遇到fastboot关机电流偏高的问题,虽然最后确认是硬件的问题,但还是顺便分析了一下android开关机的流程。总结一下,加深印象,也方便日后查阅。Android智能手机和平板一般都有Power key,长按Power key弹出关机对话框,选择power off就会让系统关闭。关机动作从按键触发中断,linux kernel层给android framework层返回按键事件进入fra...转载 2019-04-19 08:43:37 · 533 阅读 · 0 评论 -
Android 关机流程分析-----(1)Framework层
最近遇到fastboot关机电流偏高的问题,虽然最后确认是硬件的问题,但还是顺便分析了一下android开关机的流程。总结一下,加深印象,也方便日后查阅。Android智能手机和平板一般都有Power key,长按Power key弹出关机对话框,选择power off就会让系统关闭。关机动作从按键触发中断,linux kernel层给android framework层返回按键事件进入fra...转载 2019-04-19 08:42:21 · 684 阅读 · 0 评论 -
Android程序的入口
android应用程序,由一到多个Activity组成.每个Activity没有很紧密的联系,因为我们可以在自己的程序中调用其它Activity,特别是调用自己的代码之外生成的Activity,比如android提供的发短信或者打电话的Activity. Intent call = new Intent(Intent.ACTION_CALL,Uri.parse("tel:"+phon...原创 2018-03-20 10:12:55 · 2160 阅读 · 0 评论 -
APK安装时的过滤方式:包名白名单、证书认证
有些项目不允许所有APK都拥有安装权限,例如apk只能通过应用商城来安装或者升级,只允许某些特定的apk自升级,不允许pm install等。这就需要添加安装权限白名单来控制。先介绍android中常用的几种安装方式,好针对这几种进行修改1、 直接调用安装接口。Uri mPackageURI = Uri.fromFile(new File(Environment.getExternalStorageDirectory() + apkName));int installFlags = 0;..原创 2021-01-13 18:00:16 · 9152 阅读 · 0 评论 -
简单使用系统ServiceManger.getService获取自己的service
Java层service顾名思义即为从 Java层提供的service,它与 C++层的服务不同之处在于其service进程的运行由系统( ServiceManager)统一维护。在文件 frameworks/base/services/java/com/android/server/SystemServer.java 中我们可以看到以下代码:AlarmManagerService alarm ...转载 2019-05-25 16:34:18 · 1434 阅读 · 0 评论 -
亲测可用Android原生代码添加系统服务
在Android系统中,为我们提供了很多的系统服务,比如AMS,PMS等,今天参考系统里其他服务的实现,在Android N原生代码中添加自己定制的服务,想想都满激动的准备工作在正式开始之前,需要知道下面两点以及满足下面条件:前提条件Android原生代码,可以通过make全编通过,编译完成之后,可以通过emulator命令启动out目录下生成的image文件,需要注意在执行emula...转载 2019-05-10 17:25:28 · 523 阅读 · 0 评论 -
Android源码添加自定义系统服务
Android源码添加自定义系统服务本文以一个简单的例子详细介绍如何为Android 6.0 系统新增一个系统服务,以及如何使用自定义系统服务。目标:1.创建一个自定义服务CCCService 2.APP 开发过程中可以使用 getSystemService("ccc") 获取 CCCManager 并且调用里面的函数。step1 创建aidl文件在源码fram...转载 2019-05-10 15:14:48 · 3092 阅读 · 0 评论 -
Android 8.1 DisplayPowerController(五) 自动调节亮度(2)——算法
作者:FightFightFight来源:CSDN原文:https://blog.csdn.net/FightFightFight/article/details/83718273在上一篇文章中,对自动背光的流程做了总结,在本篇中,将对自动背光涉及到的一些算法进行分析总结。1.采集光强缓冲区AmbientLightRingBuffer类是一个用于存储采集到的光照强度和对应时间点...转载 2019-03-09 17:02:02 · 2188 阅读 · 0 评论 -
Android 8.1 DisplayPowerController(三) 亮度调节
背光调节,即亮度调节,根据调节方式可以分为手动调节和自动调节。而手动调节有根据调节UI不同,有式有如下几种:1.在设置->显示中手动调节;2.在SystemUI中手动调节;3.在播放视频时上下滑动界面调节亮度.本篇文章对手动调节亮度流程做一个总结。1.设置-显示、SystemUI中调节亮度Settings和SystemUI中的中亮度调节进度框都是来自于SystemUI中的Br...转载 2019-03-09 16:49:33 · 1133 阅读 · 0 评论 -
Android 8.1 DisplayPowerController(一) 亮灭屏流程
作者:FightFightFight来源:CSDN原文:https://blog.csdn.net/FightFightFight/article/details/81320519概述DisplayPowerController(以下简称DPC)用于控制显示电源状态,用来处理亮灭屏、背光的调节,包括接近传感器(P-Senser)、光线传感器(L-senser)和亮灭屏动画。它独立于...转载 2019-03-09 16:40:59 · 4705 阅读 · 0 评论 -
Android 8.1 DisplayPowerController(四) 自动调节亮度(1)——流程
作者:FightFightFight来源:CSDN原文:https://blog.csdn.net/FightFightFight/article/details/83626332和手动调节亮度相比,自动调节亮度则稍微复杂些。其中涉及到多个算法。这里先笼统地介绍其流程,对涉及到的算法在下一篇文章中进行学习。从前面的分析得到,不管是哪种背光调节方式,其最终都会在DisplayPow...转载 2019-03-09 16:53:09 · 2274 阅读 · 0 评论 -
Android 8.1 DisplayPowerController(二) Proximity Sensor的亮灭屏
作者:FightFightFight来源:CSDN原文:https://blog.csdn.net/FightFightFight/article/details/81460803概述P-Sensor亮屏和按Power键亮屏流程还是有些不同之处,如开始调用位置、PowerManagerService中的流程等,由于在平常遇到过许多PSensor亮屏相关Bug,因此这里独立地进行...转载 2019-03-09 16:47:24 · 1222 阅读 · 0 评论 -
为一个驱动添加Android中间层的步骤
本文以demo为本设备的名称,简单描述为一个硬件设备添加中间层的一般步骤。1、添加HAL层代码在hardware/libhardware/modules/下建立demo目录,然后进行下述操作。创建demo.cpp创建Android.mk在hardware/libhardware/include/hardware/目录下创建HAL层头文件demo.h 。转载 2017-08-04 09:19:09 · 366 阅读 · 0 评论 -
Android安全模式
设备在日常使用过程中,不可避免的会添加安装第三方应用。但并不是每一个应用都是安全的,对系统无伤害的。由于第三方应用程序,可能会存在一定的兼容性问题,所以在安装软件后可能会出现系统文件报错,甚至手机无法正常开机或者开机后系统程序不停报错的现象。遇到这种情况,若进行恢复出厂设置,手机中的资料是无法进行备份的,但是Android系统中添加了"安全模式"这项功能,有效的避免上述情况同时来排除故障。流程...原创 2019-09-03 10:33:08 · 18410 阅读 · 0 评论 -
Android扫描、收集、安装APK流程分析(PackageInstaller)
本篇博客分析PackageInstaller源码目的是分析Android权限机制,Android App的权限在应用被安装时,用户选择授予或者拒绝。所以,分析Android权限机制源码的第一步分析应用程序安装时的行为。 此次阅读源码旨在解决的问题:Android权限是一次性授予的,即用户在同意安装后,App就获得了申请的权限。那这个过程是怎样的,即:用户点击同意——>Ap...原创 2019-05-10 11:39:27 · 883 阅读 · 0 评论 -
Android应用安装过程及原理
Android应用安装的流程及路径: 应用安装涉及到如下几个目录:system/app 系统自带的应用程序,无法删除data/app 用户程序安装的目录,有删除权限。安装时把apk文件复制到此目录data/data 存放应用程序的数据Data/dalvik-cache 将ap...原创 2019-10-09 08:51:14 · 17592 阅读 · 0 评论