frameworks

2024/4/12 3:39:14

android aosp文件目录详解

目录 1.frameworks 2.packages 3.kernel 4.device 5.vendor 6.build 7.system 8.external 9.hardware 10.u-boot 11.dalvik 12.development 13.developers Android Open Source Project(AOSP)包含了 Android 平台的所有源代码。在 AOSP 中&…

android SystemUI全解析

本文由以下博客转载解释编辑而成: Android Frameworks层开发之SystemUI分析 Android 4.0 ICS SystemUI浅析——StatusBar加载流程分析Android 4.0 ICS SystemUI浅析——SystemUI启动流程 Android 4.0 ICS 用户界面概述 希望以一种更好的理解和解释帮助大家和自己了…

关于最近研究的关键词提取keyword extraction做的笔记

之前内容的整理 要求:第一: 首先找出具有proposal性质的paper,归纳出经典的方法有哪些. 第二:我们如果想用的话,哪种更实用或者易于实现? 哪种在研究上更有意义. 第一, 较好较全面地介绍keyword extraction的经典特征的文章《Finding Advertising …

在framework中添加字符串资源

又是一个星期一,淡疼! 一般在APP应用程序里需要用字符串的话,只需要在string.xml中添加相关字符串,然后通过Context().getResources().getString(R.string.xxx)就可以获得。 在framework/base/core/res/res/values/string.xml中添…

Android4.3 屏蔽HOME按键返回桌面详解(源码环境下)

首先声明我是做系统开发的(高通平台),所以下面介绍的方法并不适合应用开发者。 最经有个需求要屏蔽HOME按键返回桌面并且实现自己的功能,发现以前的方式报错用不了,上网搜索了一下,发现都是抄来抄去基本是无用的。网上的方法不外乎…

关于模型驱动开发的一个小争论(zt)

今天偶然撞见两个大师在讨论MDA的理念,收获颇多,特转帖于此。 source: http://sourceforge.net/forum/forum.php?thread_id2014199&forum_id544071 Synergy with OpenXavaBy: Javier Paniza (javierpaniza) - 2008-04-21 18:08 Hi all, Im Javier …

android frameworks开发SystemUI之NavigationBar改变

如果对于android SystemUI还不够了解, 请查阅我的android SystemUI全解析 此处默认大家对于SysytemUI有足够的认知 如果想对系统NavigationBar做出改变(视需求而定)此处我将介绍几种改变NavigationBar的方法一、改变大小(高度&a…

Android 9.0 延时开机动画解决首次开机黑屏和去掉android正在启动的提示框

1.概述 在9.0的系统产品rom定制化开发中,在一些产品中会出现在首次开机的时候,由于在开机动画播放完以后会出现几秒短暂的黑屏情况,然后进入默认Launcher,这在产品体验上 也是感觉到有点差,所以会要求在去掉这个首次开机黑屏的效果,和在启动过程中的 android is starting…

Android 9.0系统源码_窗口管理(三)WindowManagerService对窗口的管理过程

前言 上一篇我们具体分析了WindowManager的addView方法添加窗口的过程,我们知道WindowManager最终会调用到WindowManagerService的addWindow方法。本篇文章我们将在此基础上,具体来分析WindowManagerService的addWindow方法添加窗口的过程。这个方法的代…

Android 10.0 原生SystemUI下拉通知栏UI背景设置为圆角背景的定制(一)

1.前言 在10.0的系统rom定制化开发中,在原生系统SystemUI下拉状态栏的通知栏的背景是白色四角的背景,由于在产品设计中,需要把四角背景默认改成圆角背景,所以就需要分析系统原生下拉通知栏的每条通知的默认背景,然后读懂流程,设置默认下拉状态栏UI中的通知栏部分每一条通…

boot.img的生成过程,解析mkbootimg

Android系统镜像中boot.img如何生成,在此篇文章解开它的神秘面纱。 源码位置:android/system/core/mkbootimg/ boot.img是由文件头信息,内核数据以及文件系统数据组成,它们之间非页面对齐部分用0填充 mkbootimg工具的使用&#x…

Android 9.0系统源码_SystemUI(九)PhoneWindowManager构建状态栏和导航栏视图窗口区域坐标的流程解析

前言 NavigationBar 和 StatusBar 都属于 SystemBar,也叫做 decor,就是说给 App 装饰的意思。一般的 window 的布局是在 PhoneWindowManager 的 layoutWindowLw() 方法中,而 SystemBar 是在 beginLayoutLw() 方法中布局。 当前最上层的 Act…

Android 12系统源码_SystemUI(七)DisplayPolicy构建状态栏和导航栏视图窗口区域坐标

前言 NavigationBar 和 StatusBar 都属于 SystemBar,也叫做 decor,就是说给 App 装饰的意思。在Android12中,一般的window的是在 DisplayPolicy的layoutWindowLw方法中布局的,而导航栏和状态栏分别是在DisplayPolicy的layoutNavi…

Android 9系统源码_SystemUI(十)SystemUIVisibility属性

前言 在Android系统中,很多应用都需要根据具体情况来控制状态栏和导航栏的显示和隐藏,又或者将状态栏透明,实现诸如沉浸式、全面屏灯效果,而要实现这些效果,都离不开SystemUIVisibility属性。由于SystemUIVisibilityy…

[转]iphone项目中使用opencv教程

转自:http://www.cocoachina.com/bbs/simple/?t33693.html 123探花 2010-09-29 14:10 iphone项目中使用opencv教程 - -!好复杂啊。。。不过做出来的话,功能应该不错,这就研究去~拜谢探花啊,你…

Android 12.0 系统Settings去掉开发者模式功能

1.概述 在12.0的系统rom产品定制化开发中,在系统Settings中的关于手机的选项中,系统默认点击版本号5次会自动打开开发者模式,但是在某些产品开发过程中,禁止打开开发者模式,需要去掉开发者模式的功能,所以需要在系统Settings中查看开发者模式的相关流程代码,然后禁用掉开…

Android 12系统源码_输入事件(一)HOME按键事件响应流程

前言 本文我们现在主要分析一下android系统对HOME按键的响应过程,HOME按键事件是属于系统级别的按键事件监听,而在Android系统中,系统级别的按键处理逻辑都在PhoneWindowManager这个类中。 一、interceptKeyBeforeDispatching方法分发按键事…

android 13.0 设置第三方浏览器app为默认浏览器

1.概述 在13.0的系统rom产品定制化中,如果系统安装多个浏览器时,需要设置默认浏览器来完成需求,这就需要看系统设置中的相关源码 当出现多个浏览器时,该如何设置默认浏览器呢, 其实在Settings 默认应用->浏览器应用 当点击选择浏览器时会调用PermissionController的代码…

Android 12系统源码_页面管理(四)获取系统当前最上层的Activity信息

前言 很多应用开发人员,在日常开发过程中,经常会遇到一些需求,例如需要知道当前最上层的Activity是哪个,并结合这个Activity的名称来完成一些特定场景的需求。最简单的方法,是在创建Activity的时候将该Actvity存储到一…

android中的强指针和弱指针

在Android的源代码中&#xff0c;经常会看到形如&#xff1a;sp<xxx>、wp<xxx>这样的类型定义&#xff0c;这其实是Android中的智能指针。智能指针是C中的一个概念&#xff0c;通过基于引用计数的方法&#xff0c;解决对象的自动释放的问题。在C编程中&#xff0c;…

Android 9.0 app进程保活根据包名设置oom_adj的值为0

1.概述 在9.0的系统产品rom定制化开发的过程中,会有各种各样的定制化需求,在对于app长期在后台运行的时候,不希望app进程被杀掉,所以在保活app的时候,也是会有这样的要求的, app被保活的化,在退出后台,就不会被优先杀掉,就可以长期在后台允许,这些对于很重要的服务也…

Android 9.0 系统关机动画的功能实现

1.前言 在系统9.0的系统rom定制化开发中,在系统中默认有开机动画功能,但是在关机动画方面功能不是很完善,如果只内置关机动画,会发现关机动画还没播放完 就关机了,所以需要在系统关机要等到关机动画播完才执行关机的动作,接下来就来分析关机流程,然后来实现这个功能 …

Android 10.0 系统Settings显示菜单增加控制屏幕横竖屏旋转的二级菜单

1.概述 在10.0的系统产品开发中,在系统Settings的显示菜单中,有自动旋转屏幕功能,但是由于产品功能需要要求增加控制屏幕横竖屏旋转的switch开关来实现屏幕横竖屏旋转的功能,所以需要在显示的二级菜单中增加控制屏幕横竖屏旋转的功能 2.系统Settings显示菜单增加控制屏幕横…

Android 10.0 系统framework发送悬浮通知的流程分析

1.前言 在android10.0rom定制化开发中,在原生系统的systemui中,状态栏通知,和闹钟,wifi等悬浮通知也是很重要的, 悬浮通知也是系统通知的一种,也是在frameworks中发送出来的通知,接下来就分析下10.0中的悬浮通知的发送 流程,然后就可以实现自己自定义悬浮通知的相关功…

Android11.0 原生系统SystemUI下拉状态栏和通知栏视图之锁屏通知布局

1.前言 在11.0的系统rom定制化开发中,对于系统原生systemui的锁屏界面的功能也是非常重要的,所以在锁屏页面布局中,也是有通知栏布局的,所以接下来对于息屏亮屏 通知栏布局的相关流程分析,看下亮屏后锁屏页面做了哪些功能 2.原生系统SystemUI下拉状态栏和通知栏视图之锁…

Scala挺进TIOBE前50了

source: http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html 从最新5月份的编程语言排名来看&#xff0c;Scala终于挺进去了&#xff0c;不容易&#xff0c;前段时间听说Jams也在用它&#xff0c;看了它是挺适合学究派的&#xff0c;呵呵。 我看好它&#xf…

Android 10.0 系统settings详情页 卸载修改为停止,禁止卸载app功能实现

1.概述 在10.0的系统rom定制化功能的开发过程中,在一些系统预安装的app中,在Launcher3中可以通过拖拽然后卸载,这个限制卸载可以在前面的博客中禁止卸载这些预安装的app, 然后就需要在系统Settings详情页来禁止app的卸载,把卸载修改为停止功能,所以就需要从系统应用详情…

Android4.4 无Proximity Sensor的设备拨号中实现自动灭屏

现在的电子产品越来越人性化&#xff0c;用户友好化&#xff0c;在给用户带来全新体验的同时&#xff0c;也在改变着人们的日常生活&#xff0c;所以说科技是伟大的&#xff0c;创新是伟大的。 随着移动设备的多元化发展&#xff0c;各种微型芯片的嵌入&#xff0c;使得它的功能…

[中英对照] COM的简明C教程(一)

[中英对照] COM的简明C教程(一) Jeff Glatt(著),TOMGGX(译) [ 摘要 ] 现在有许多示范如何使用、创建COM、OLE、ActiveX组件的例程。但这些典型例子都是使用微软基础类(MFC)&#xff0c;.NET&#xff0c;C#&#xff0c;WTL或至少使用了ATL的&#xff0c;由于此类架构使用 “预制…

Android 9.0 ResolverActivity.java多个app选择界面去掉始终保留仅有一次

1.前言 在9.0的系统rom定制化开发过程中,在系统中安装同类型多个app的时候,在系统启动的过程中,会在启动launcher或播放器的过程中,在启动的过程中都是弹出选择框的,然后在选择启动哪个app,这些选择都是在ResolverActivity.java中完成的,所以需要在ResolverActivity.java…

Android 9.0 Launcher3单层高斯模糊(毛玻璃)效果的实现

1.前言 在9.0的系统rom定制化开发,进行系统Laucher3定制中,在产品开发中有功能需求要求实现高斯模糊(毛玻璃)效果背景效果,在Launcher3中也是常见的功 能这就需要了解Workspace的背景定义,然后对背景实现高斯模糊功能,首选要分析加载流程,然后对其背景进行高斯模糊就可以了…

Android 9.0系统源码_通知服务(二)系统状态栏是如何监听通知服务的各种通知事件的

前言 上一篇文章简单讲述了系统通知服务NotificationManagerService的启动流程&#xff0c;本篇文章我们将会具体梳理一下SystemUI组件系统状态栏StatusBar是如何监听通知服务的各种通知事件的。 一、 1、我们在Android 9.0系统源码_SystemUI&#xff08;一&#xff09;Syst…

Android 12.0设置默认浏览器安装一款浏览器默认浏览器无效的解决方案

1.概述 在android12.0的系统rom定制化开发过程中,设置默认浏览器的功能,在产品中如果同时安装多个浏览器的时候,会需要设置默认浏览器的需求,而在通过设置默认浏览器,在安装一款浏览器的时候,会在系统settings的默认浏览器列表一些为空,就表示在安装浏览器的时候,把默认…

Language Oriented Programming : The Next Programming Paradigm

english source:http://www.onboard.jetbrains.com/is1/articles/04/10/lop/ chinese source:http://blog.csdn.net/chelsea/archive/2005/02/17/290486.aspxLanguage Oriented Programming : The Next Programming ParadigmSergey Dmitriev, JetBrains 现在是软件开发中开始下…

Android 9.0 系统settings app详情页控制开启关闭流量数据的开关

1.概述 在9.0的系统rom定制化开发中,在原生Settings张的app详情页中有后台数据开关,限制app在后台使用流量导致流量流失 目前有需求要求不让app使用数据流量,前台后台都不能使用流量 所以就要根据这个后台流量开关来看下具体如何实现功能 2.系统settings app详情页控制开启关…

Android 11.0 任务栏中清除掉播放器的进程,状态栏仍有音乐播放器状态问题的解决

1.概述 在11.0的rom定制化开发中,在点击系统自带的播放器以后,播放音乐的时候,在最近任务栏recents列表中,点击全部清除,发现音乐播放器还在播放音乐,导致出现bug,完整的 解决方法,肯定是需要点击全部清除以后,音乐播放器也被杀掉进程,接下来分析下这个移除任务栏流程…

Android 本地代码中的LIKELY和UNLIKELY宏

阅读Android Frameworks中的C代码时&#xff0c;经常会碰到在条件判断语句中使用了LIKELY和UNLIKELY这两个宏&#xff0c;找到这两个宏的定义如下&#xff1a; #define LIKELY( exp ) (__builtin_expect( (exp) ! 0, true )) #define UNLIKELY( exp ) (__builtin_…

Android 9.0系统源码_通知服务(三)应用发送状态栏通知的流程

前言 应用发送一个显示在状态栏上的通知&#xff0c;对于移动设备来说是很常见的一种功能需求&#xff0c;本篇文章我们将会结合Android9.0系统源码具体来分析一下&#xff0c;应用调用notificationManager触发通知栏通知功能的源码流程。 一、应用触发状态栏通知 应用可以通…

Android 9.0 修改Recovery字体图片的大小(正在清理)文字大小

1.概述 在9.0的系统产品定制化开发中,在系统中recovery功能也是非常重要的功能,所以说在进行recovery的时候,正在清理的 字体显示的有些小了,所以产品需求要求改大recovery的字体大小,所以这就需要在recovery页面看下字体大小的显示逻辑然后修改字体的显示大小,主要功能修…

Android 4.2 Bluetooth 分析总结(二) 蓝牙enable 的整个过程

转载请标明出处&#xff1a;Android 4.2 Bluetooth 分析总结&#xff08;二&#xff09; 蓝牙enable 的整个过程 现在开始我们分析 Android4.2 Bluetooth 打开的整个过程&#xff0c;由于是新手&#xff0c;难免有很多错误&#xff0c;记录只是为了以后方便查找&#xff0c;如发…

替换TWaver中Tree展开合并图标

TWaver最大的优点之一是“ 灵活的定制功能”。光说不练不行&#xff0c;来个例子演练一下&#xff1a;定制Tree节点的标签。 默认Tree和Network上的标签显示的是网元的name属性&#xff0c;设置Styles.TREE_LABEL属性后&#xff0c;可以让Tree显示Styles.TREE_LABEL的值&#…

Android 12.0进程保活白名单功能实现

1.概述 在12.0的系统产品开发中,在某些重要的app即使进入后台,产品需求要求也不想被系统杀掉进程,需要app长时间保活,就是app进程保活白名单功能的实现,所以需要在系统杀进程的时候不杀掉白名单的进程 2. app进程保活白名单功能实现的核心类 frameworks/base/core/java/a…

[Network]Android N Ethernet新IP获取机制—IpManager

android N之前 Ethernet旧的ip获取 Android N之前&#xff0c;即android 5.0和android 6.0的IP获取机制都是通过/system/bin下面的dhcpcd的bin档去拿的ip //EthernetNetworkFactory.java (frameworks\opt\net\ethernet\java\com\android\server\ethernet)public void onReque…

Android 9.0横屏旋转开机动画显示不全的解决方案

1.前言 在9.0的系统产品rom开发中,在进行平板设备开发中,需要横屏显示,所以需要把屏幕方向旋转90,作为横屏显示,但是这样可能会引起一个问题 就是开机动画显示不全,就是虽然画面是横屏显示了 但是只能显示一部分显示不全,所以这就需要分析相关的横屏显示的问题了,然后找…

什么是Ruby on Rails(简称ROR)

作者&#xff1a;Curt Hibbs 日期&#xff1a;10/13/2005译者&#xff1a;吴海燕 日期: 7/12/2005Ruby on Rails Ruby on Rails是一套用Ruby写的Web应用程序框架&#xff0c;Ruby是一个与Python,Smalltalk和Perl相似的动态语言。 本文内容&#xff1a; 什么是Ruby on …

Android 系统的分区和文件系统(5)- Android Framework层上的工具和命令

声明 Android系统中包含很多命令行工具&#xff0c;包括一些Linux继承来的工具&#xff0c;也有不少Android系统特有工具/命令&#xff0c;此篇介绍一些比较重要的工具/命令。这些命令来自Android框架层&#xff08;源码位置&#xff1a;frameworks/native/cmds、frameworks/b…

Android Framework 动态更新插拔设备节点执行权限

TF卡设备节点是插上之后动态添加&#xff0c;所以不能通过初始化设备节点权限来解决&#xff0c;需要监听TF插入事件&#xff0c;在init.rc 监听插入后动态更新设备节点执行权限 添加插拔TF卡监听 frameworks/base/services/core/java/com/android/server/StorageManagerServic…

Android 9.0 app全屏通过系统属性控制手势上滑是否显示虚拟导航栏和状态栏

1.前言 在9.0的系统rom产品定制化os开发中,在系统设置app的全屏后,默认会隐藏导航栏和状态栏,页面全屏显示的时候, 然后底部上滑会显示虚拟状态栏和导航栏显示几秒钟后会自动消失,由于项目开发需要要求通过api 来控制全屏时上滑是否显示虚拟导航栏和状态栏,这就要从上滑事…

Android Framework 全局替换系统字体

基于Android 11 Android Framework 全局替换系统字体 第一种通过替换系统默认字体 将需要替换的字体资源放置frameworks/base/data/fonts/目录下。 将系统默认的Roboto字体替换为HarmonyOs字体。 frameworks/base/data/fonts/fonts.xml frameworks/base/data/fonts/Android.…

Android 9.0 根据包名授予app所需的权限

1.概述 在9.0的系统rom产品定制化开发中,在对系统app首次启动默认是会弹出授权的弹窗的,但是对于产品来说会显示的有些麻烦,对产品体验度也不是很好,所以在进行产品开发的时候,默认要求对一些app根据包名授予权限,这样就不会弹出授权的窗口了默认就有权限了,接下来就来实…

Android 11.0 设置默认DNS

1.前言 在11.0的系统rom产品定制化开发中,由于是wifi产品的定制,需要对wifi功能要求比较高,所以在wifi需求方面要求设置默认的dns功能,这就需要分析网络通讯 流程,然后在联网之后,设置默认的dns,来实现功能要求 2.设置默认DNS的核心类 frameworks\base\core\java\andr…

Android 10.0 Camera2 拍照功能默认选前摄像头

1.概述 在10.0的系统产品开发中,对于app调用系统api来打开摄像头拍照的功能也是常有的功能,而拍照一般是默认打开后置摄像头拍照的,由于 客户的产品特殊要求,需要打开前置摄像头拍照功能,所以需要了解拍照功能的流程,然后修改默认前置摄像头打开拍照功能就可以了 app调…

Android 12系统源码_系统栏管理服务(一)StatusBarManagerService服务介绍

前言 在Android系统中&#xff0c;其他模块想要和SystemUI模块交互&#xff0c;基本都离不开StatusBarManagerService这个服务的&#xff0c;StatusBarManagerService顾名思义&#xff0c;就是状态栏管理服务&#xff0c;但其实这个服务不单单可以管理系统状态栏&#xff0c;通…

Android 10.0 系统systemui状态栏下拉左滑显示通知栏右滑显示控制中心模块的流程分析

1.前言 在android10.0的系统rom定制化开发中,在系统原生systemui进行自定义下拉状态栏布局的定制的时候,需要在systemui下拉状态栏下滑的时候,根据下滑坐标来 判断当前是滑出通知栏还是滑出控制中心模块,所以就需要根据屏幕宽度,来区分x坐标值为多少是左滑出通知栏或者右…

Android 12系统源码_页面管理(一)ActivityManagerService的启动流程

前言 和WindowManagerService服务一样&#xff0c;ActivityManagerService也是Android系统中非常重要的服务&#xff0c;这个服务主要负责Android中四大组件的启动、通信、部分生命周期的管理等等。通常&#xff0c;为了方便书写&#xff0c;我们习惯将ActivityManagerService…

Android 12.0 根据app包名授予app监听系统通知权限

1.概述 在12.0的系统rom产品定制化开发中,在一些产品rom定制化开发中,系统内置的第三方app需要开启系统通知权限,然后可以在app中,监听系统所有通知,来做个通知中心的功能,所以需要授权 获取系统通知的权限,然后来顺利的监听系统通知。来做系统通知的功能 2.根据app包名…

Android 9.0 app添加校验锁(输入密码才能进入app)

1.概述 在9.0的系统rom定制化开发中,在一些产品开发中,需要对app启动校验密码,输入密码后,才可以进app,所以说对这种 开发需求,首先找到启动app的关键点以后,在加入限制app启动的弹窗,输入密码,密码正确后在进入app,实现流程 就是这样,接下来看如何实现的 2.app添加校…