7 一个小菜鸟的成长之路

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 20w+

SystemUI分析

简介SystemUI是一个持续的进程,为系统提供UI,作为Android系统的核心应用,SystemUI负责反馈系统及应用状态并与用户保持大量的交付。SystemUI的路径代码位置在frameworks\base\packages\SystemUIapk安装目录system/priv-app/SystemUI不同手机的SystemUI可能有所不同,比如小米手机的安装...

2019-11-10 15:26:22

Android Binder原理初探

1、Binder的通信原理动态内核可加载模块&&内存映射在Android Binder开卷中所说的IPC通信模型中所描述的,跨进程通信需要内核空间做支持。传统的IPC机制如管道,Socket都是内核的一部分,因此通过内核支持来实现进程间通信自然没有问题。但是Binder并不是Liunx系统内核的一部分。Binder机制得益于Liunx的动态内核可加载模块(Loadable ...

2020-01-18 17:42:23

Liunx系统目录结构

登录系统后,在当前窗口输入命令:ls /树状目录结构文件系统是用来组织和排列文件存取的,所以它是可见的,在Liunx中,我们可以通过ls等工具来查看其结构,在Liunx系统中,我们见到的都是树形结构。文件系统的最顶层是由根目录开始的,系统使用/来表示根目录。在根目录之下的既可以是目录,也可以是文件,而每一个目录中又可以包含子目录文件。在Liunx文件系统中有两个特殊目录,一个用户所...

2020-01-14 19:10:47

SettingsProvider简单分析

SettingsProvider顾名思义是一个提供数据共享的Provider,SettingsProvider和Android系统其它Provider有很多不一样的地方:1.SettingsProvider只接受int float String等基本类型的数据;2.SettingsProvider由Android系统frameowrk进行了封装3.SettingsProvider的数据...

2020-01-11 10:52:46

Git常用命令记录

前言Git和其它版本控制系统如SVN的不同之处就是有暂存区的概念。Git本地有四个工作区域:工作目录(working Directory)、暂存区(Stage/Index)、资源库(Repository或Git Directory)、git仓库(Remote Directory)。Workspace:工作区,就是本地电脑能够看到的文件夹,本地放代码的地方Index/Stage:暂存...

2019-12-31 17:40:28

Android Binder开卷

一、IPC介绍IPC全名为inter-Process Communication,含义为进程间通信,是指两个进程之间进行数据交换的过程。1.1为什么需要使用IPC?内核空间和用户空间在操作系统中存在用户空间(User space)和内核空间(Kernel space)。Liunx采用虚拟内存管理技术,每一个进程都都有各自独立的进程地址空间(以32位系统为例,空间为4G大小的线性...

2019-12-24 22:44:22

Launcher3去掉抽屉模式

目前接收到一个需求,因为是小屏手机,需要修改为4宫格模式,去掉抽屉,将所有应用展示在一级页面。1、加入开关Launcher3\src\com\android\launcher3\LauncherAppState.java添加一个方法 public static boolean isDisableAllApps() { return true; }2、a...

2019-12-18 15:16:04

Launcher3移除桌面搜索栏

device/google/marlin/common/base.mkdevice/mediatek/mt6739/device.mkdevice/mediatek/common/device.mkbuild/make/target/product/core.mk删除QuickSearchBoxLauncher3\src\com\android\launcher3\config\Bas...

2019-12-17 15:44:27

Launcher3移除Hotseat图标

Launcher3/res/xml/default_workspace_4x4.xml中删除<include launcher:workspace="@xml/dw_phone_hotseat" />这个时候不会出现Hotseat图标,但是底部仍然会有空白的空间Launcher3\src\com\android\launcher3\DeviceProfile.java...

2019-12-17 15:33:56

Launcher3源码分析之布局分析

Launcher3中会在Launcher.java中加载主布局launcher.xml<com.android.launcher3.LauncherRootView xmlns:android="<http://schemas.android.com/apk/res/android>" xmlns:launcher="<http://schemas.a...

2019-12-07 14:15:20

Launcher3分析之数据加载与绑定

Launcher3的主界面是packages/apps/Launcher3/src/com/android/launcher3/Launcher.java首先分析onCreate @Override protected void onCreate(Bundle savedInstanceState) { if (DEBUG_STRICT_MODE) {...

2019-12-06 11:45:37

Launcher3源码分析之启动分析

1、Launcher大体布局架构2、Launcher3 主要目录解析allapps 目录:主要存放主菜单界面相关代码。anim目录:存放动画相关代码,主要是动画基类代码。badge目录:主要存放图标标识相关代码,例如通知小圆点等compat目录:主要存放解决兼容性相关的代码。config目录:主要配置Launcher相关功能的宏开关,目前Launcher原生新增的功能宏...

2019-12-03 15:01:55

SystemUI系列之StatusBar

在上一篇(https://blog.csdn.net/u011164827/article/details/102998091)分析到SystemUI的启动过程,现在分析StatusBar。启动分析SystemUI在SystemUIApplication会启动各个模块,在这个地方会调用com.android.systemui.SystemBars的start方法。frameworks/...

2019-11-13 10:57:52

Android系统启动过程分析

1、启动流程概述1、BootLoaderBootLoader主要是在系统加载前,初始化硬件设备,建立内存空间的映像图,为最终调用系统内核做好环境。在 Android 中主要划分为一下几个分区:/boot:存放引导程序,包括内核和内存操作程序/system:相当于电脑c盘,存放Android系统及系统应用/recovery:恢复分区,可以进入该分区进行系统恢复/data:用户数据区,...

2019-11-06 19:24:00

Android EventLog

一、概述EventLog是Android中重要的log,能够用来分析系统的各种状况,比如activity的生命周期,电池状态等在终端输入logcat -b events能够打印出evetnlog。同时在MTKLog的mobilelog文件夹下面也能看到evetnlog。tags格式的定义位于文件system/etc/event-log-tags同时,阅读详细信息可以查看源码中的...

2019-11-06 11:06:24

MTK Log分析

Log抓取在手机电话号码输入:##3646633##MTKLog 结构分析MTK Log是在mtklog目录下1、gpsdbglog //gps Log2、mdlog1 //modem 相关底层的log,里面可能有多个文件夹,每打开一次MTK Log就会新建一个文件夹3、mobilelog // android log 和 kernel log,里面可能有多个文件夹,每打开一次M...

2019-11-05 17:12:16

MTK Android.mk解读

预制第三方apk在vendor/freeme/samples 中的Android.mk-sample中可以看到示例。# Prebuilt apkinclude $(CLEAR_VARS) //必须先定义LOCAL_PATH 变量,此变量表示源文件的位置。编译系统提供的宏函数 my-dir 将返回当前目录(Android.mk 文件本身所在的目录)的路径。LOCAL_MODULE ...

2019-09-16 11:15:00

Settings中Battery分析

###分析电池状态RG170:/ $ dumpsys batterydumpsys batteryCurrent Battery Service state: AC powered: false //充电器充电 USB powered: true Wireless powered: false //无线充电 Max charging current: 5000000 ...

2019-09-11 10:12:21

android APN解析

APN全称是Access Point Name,中文即接入点,是通过手机上网时必须配置的一个参数,它决定了手机通过哪种接入方式来访问网络。 /system/etc/apns-conf.xml,手机中的apn在这个位置。<apn carrier="中国移动彩信 (China Mobile)" mcc="460" mnc="00" a...

2019-07-31 18:49:21

Android JNI与C互调

JIN方法签名在C中调用Java中方法时需要使用到方法签名。就是将方法的返回类型和参数类型转换为特定的符号。规则如下:java类型符号BooleanZByteBCharCShortSIntILongJFloatFDoubleDVoidV数组[ , 如:int[]-> [I, int[][]-&g...

2019-04-17 18:34:30

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv1
    勤写标兵Lv1
    授予每个自然周发布1篇到3篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。