Android源码分析
文章平均质量分 63
lmpt90
我要站在巨人的肩膀上,探索那些未知的世界。
展开
-
Settings中动态插入菜单
原文链接:https://blog.csdn.net/wangwei6227/article/details/130935976Android设备中,很多应用需要增加在Settings中增加菜单,作为应用的入口。此时可以仿照google GMS包的应用,采用动态加载的方式。这种方法不需要修改Settings中代码,修改应用本身的AndroidManifest.xml文件就行,实现解耦并自动适配1、使用方法1.1、示例:在AndroidMainfest.xml中增加如下配置1.2、权限。转载 2024-07-21 08:29:15 · 111 阅读 · 0 评论 -
Bootloader LK低电禁止开机,并显示提示图片
需求:5%以下电量需要开机时候,弹出友好界面提醒:“电量不足,请充电半小时后再开机”Bootloader低电禁止开机,并显示提示图片bootloader流程分析:https://blog.csdn.net/chenzhen1080/article/details/96635968原理:电量充足时默认显示splash.img的图片,电量低时,显示“电量不足”的图片。遇到的问题:1.修改...原创 2020-01-08 20:30:58 · 859 阅读 · 0 评论 -
Win7下systrace环境配置
D:\Android\android-sdk-windows\tools\monitor.bat工具可以用来抓systrace高通文档KBA-161123204012讲得非常好。python2.7下载地址:https://www.python.org/downloads/release/python-2717/我下载的是当时最新的版本:python-2.7.17.amd64.msiC:\...原创 2020-01-08 17:41:16 · 1141 阅读 · 0 评论 -
android 9.0关机充电流程,充电图标和电量显示百分比修改
android 9.0关机充电流程,充电图标和电量显示百分比修改版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明原文链接:https://blog.csdn.net/yy782101688/article/details/102852180android 9.0关机充电图标和字体修改相关源文件 电量显示百分比字体替换 充电图...转载 2019-12-04 17:16:51 · 4531 阅读 · 2 评论 -
Android系统默认关闭第三方通知
一开始是在service里面写的代码,在service里面采用广播来监听应用安装的广播。package com.chinachip.customrequirements;import android.app.AlarmManager;import android.app.LightManager;import android.app.PendingIntent;import an...原创 2019-12-04 09:03:11 · 2224 阅读 · 2 评论 -
Android8.1应用安装广播问题
IntentFilter installFilter = new IntentFilter();installFilter.addAction(Intent.ACTION_PACKAGE_ADDED);installFilter.addAction(Intent.ACTION_PACKAGE_REPLACED);registerReceiver(mInstallReceiver, inst...原创 2019-12-03 15:42:08 · 1002 阅读 · 1 评论 -
修改设备名称,蓝牙名称,wifi直连名称
原文地址:https://blog.csdn.net/h784707460/article/details/838982331. wifi direct or wifi p2p默认名称为Android_XXXX.frameworks\opt\net\wifi\service\java\com\android\server\wifi\p2p\WifiP2pServiceImpl.jav...转载 2019-04-30 12:43:33 · 3077 阅读 · 0 评论 -
修改系统默认时间
rk,mtk修改方案:diff --git a/frameworks/base/services/java/com/android/server/SystemServer.java b/frameworks/base/services/java/com/android/server/SystemServer.javaindex 8d23101f55..a0f4bbe553 100755-...原创 2019-04-30 12:43:39 · 798 阅读 · 0 评论 -
addr2line的使用
报错log:--------- beginning of crash01-01 08:01:17.963 3466 3466 F libc : FORTIFY: write: prevented read past end of buffer01-01 08:01:17.964 3466 3466 F libc : Fatal signal 6 (SIGABRT), ...原创 2019-05-05 17:21:20 · 6018 阅读 · 0 评论 -
ADB命令总结
一. 基本指令 adb -s serialNumber shell//进入指定设备 adb version//查看版本 adb logcat//查看日志 adb devices//查看设备 adb get-state//连接状态 adb start-server//启动ADB服务 adb kill-server//停止ADB服务 adb push local ...原创 2019-05-11 14:43:03 · 330 阅读 · 0 评论 -
SystemUI启动流程
本文我们来分析下高通Android7.1代码SystemUI的启动流程。ZygoteInit中handleSystemServerProcess函数的最后一步,会调用SystemServer的静态函数main方法。我们来看下那段有关启动SystemUI的代码:frameworks\base\services\java\com\android\server\SystemServer.java...原创 2019-04-22 19:24:06 · 328 阅读 · 0 评论 -
Sensor----HAL
原文:https://blog.csdn.net/huilin9960/article/details/80578729Android Native到HAL源码剖析,以sensor为例2018年06月05日 13:54:26剥皮包子阅读数:1136更多所属专栏:Android Sensor架构全解析版权声明:本文为博主原创文章,未经博主允许不得转载。 https...转载 2019-05-10 17:13:28 · 922 阅读 · 0 评论 -
修改android framework/base后编译注意的地方
2013年03月01日 10:34:51cupidove阅读数:4037Adding new source to Android framework/baseBy rogerdesmIf you are adding a source to the folder framework/base, do not forget to add this folder path to the...转载 2019-05-27 15:56:03 · 1678 阅读 · 0 评论 -
Android开发中如何匹配layout资源(layout-sw480dp layout-sw600dp-land layout-sw720dp-port)
2015年05月27日 22:21:25缥缈孤鸿影_love阅读数:10287版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/tung214/article/details/46054233Android应用里里,大家一定饱受各种layout-sw480dp layout-sw600dp-landlayout-sw720dp-por...转载 2019-05-23 11:35:50 · 882 阅读 · 0 评论 -
开机默认壁纸加载流程分析
原文:https://www.zybuluo.com/guhuizaifeiyang/note/866798Android壁纸开发流程分析android壁纸服务流程浅析深入理解Android卷III 第八章深入理解Android壁纸本文讨论的是开机默认壁纸的加载流程,这里只分析静态壁纸。静态壁纸是运行于SystemUI进程中的一个名为ImageWallpaper的特殊Wallpaper...转载 2019-06-13 08:22:04 · 1924 阅读 · 1 评论 -
SELinux文件访问安全策略和app权限配置
原文地址:https://www.zybuluo.com/guhuizaifeiyang/note/772144基于android6.0版本的SELinux文件访问安全策略在android6.0以后的版本,google采用了SELinux的文件访问安全策略,想比较以前,绝对提高了文件的安全,不像以前那样,对文件访问可以是无条件的。本篇文章就分享下常用的一些安全策略。1.linux传...转载 2019-06-13 10:38:55 · 2367 阅读 · 0 评论 -
在VIM中进行文本替换
原文:https://www.cnblogs.com/wind-wang/p/5768000.html 1. 替换当前行中的内容: :s/from/to/ (s即substitude) :s/from/to/ : 将当前行中的第一个from,替换成to。如果当前行含有多个 from,则只会替...转载 2019-06-15 10:13:30 · 941 阅读 · 0 评论 -
PackageManagerService根据权限等级管理权限流程分析(默认赋予apk权限)
原文:https://www.jianshu.com/p/64041fa3e8e1PMS系列:1、PackageManagerService服务框架详解2、PackageManagerService启动分析3、PackageManagerService之app数据类(Settings)分析4、PackageManagerService扫描安装apk详解5、本文PackageManag...转载 2019-06-18 17:34:49 · 2451 阅读 · 0 评论 -
Launcher3数据加载
这篇文章我们来一起分析下Launcher3数据的加载流程。Launcher3的数据分为桌面数据和应用列表数据,桌面数据有shortcuts,folder,widget,而应用列表里面的就只有shortcuts.本文着重分析workspace数据的流程.数据加载的起点是通过调用LauncherModel的startLoader方法,Launcher3的onCreate()中有如下代码:pa...原创 2019-04-10 17:20:31 · 934 阅读 · 1 评论 -
开机启动系列之Launcher启动
我们知道SystemServer进程是Zygote通过fork调用启动的,SystemServer进程的启动过程中会调用其main静态方法,开始执行整个SystemServer的启动流程,在其中通过调用三个内部方法分别启动boot service、core service和other service。在调用startOtherService方法中就会通过调用mActivityManagerServ...原创 2018-12-27 14:30:57 · 2781 阅读 · 0 评论 -
开机启动系列之开机动画结束
我们知道系统开机时会通过ActivityManagerService把第一个Home应用Launcher3启动起来,而在Activity的启动过程中会调用ActivityThread.java中的handleResumeActivity()方法来进一步调用Activity的onResume()方法。 frameworks\base\core\java\android\app\Activ...原创 2018-12-28 14:44:11 · 982 阅读 · 1 评论 -
Android6.0增加一个系统服务
自己写的一个给android6.0系统添加自定义服务的patch,保存下以后备用。From 7048940231dc53e08e5928c0712f3dcbfb29b2c0 Mon Sep 17 00:00:00 2001****************Date: Thu, 24 Jan 2019 15:29:47 +0800Subject: [PATCH] add the WatchS...原创 2019-01-24 15:41:33 · 402 阅读 · 0 评论 -
Launcher3拖拽流程分析
本文主要分析下Launcher3的拖拽流程。Launcher3的点击事件比较好分析,大都都是打开某个应用或者进入文件夹app界面。而拖拽流程就比较复杂,拖拽的触发是View的长按事件,而长按事件的处理是在Launcher3.java的onLongClick()方法中,我们一起来看下。 @Override public boolean onLongClick(View v) ...原创 2019-04-12 09:14:21 · 1727 阅读 · 1 评论 -
Launcher3向上滑动显示应用列表分析
Android7.0的代码开始,Launcher3可以在Hotseat的区域通过向上滑动打开应用列表界面。本文我们就来详细分析下这个过程吧。一开始以为是Hotseat里面有onTouchEvent相关的逻辑处理,但是查看代码发现里面基本没有相关的事件处理逻辑,所以我们只能看下布局文件了,由事件分发的机制我们知道,如果子view不拦截处理事件,则它就会向下传递给父容器处理。Hotseat的父容器...原创 2019-04-15 20:31:19 · 3757 阅读 · 2 评论 -
Launcher3应用列表数据加载
本文我们详细看看应用列表的加载过程,代码是基于高通7.1。先前的文章我们分析过Launcher3数据的加载,知道应用列表数据加载的起点是在LauncherModel的loadAndBindAllApps()开始的,该方法会调用loadAllApps()。packages\apps\Launcher3\src\com\android\launcher3\LauncherModel.java ...原创 2019-04-16 17:14:18 · 1400 阅读 · 0 评论 -
Launcher3有关的客制化工作
在工作当中对Launcher3的客制化还是比较多的,如客制化主界面,是否旋转,屏蔽掉应用列表界面等等。本文就对这些来一个总结吧。注意在本文针对高通7.1的Launcher3写的,其它平台的代码可能有所不一样。1.客制化主界面在前面的博客中讲到过,要客制化主界面我们需要修改partner_default_layout.xml(这个是谷歌GmsSampleLayout.apk里的文件)或者de...原创 2019-04-16 17:32:08 · 756 阅读 · 0 评论 -
Launcher3应用的安装与卸载
本文我们来看下Launcher3应用的安装与卸载的处理流程。应用的安装与卸载是通过PackageManagerService来完成的,在成功安装或者卸载之后它是怎么通知Launcher3更新的呢?关于PackageManagerService那一块我们不作深入分析,我们知道LauncherModel是Launcher3的数据中心继承于BroadcastReceiver并且实现了LauncherAp...原创 2019-04-12 15:57:53 · 3038 阅读 · 0 评论 -
Activity启动流程源码分析
看到大神写了一篇很好的文章,主题是基于Android9.0的Activity启动流程分析,转载学习之。原文链接:https://blog.csdn.net/lj19851227/article/details/82562115前言熟悉Activity的启动流程和运行原理是一个合格的应用开发人员所应该具备的基本素质,其重要程度就不多做描述了。同时,知识栈应该不断的更新,最新发布的Andro...转载 2018-12-26 16:14:52 · 261 阅读 · 0 评论