自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(112)
  • 资源 (1)
  • 收藏
  • 关注

原创 tombstone最大允许有多少个

对于eng/userdebug版本,是50个;对于user版本,是10个$ adb shell getprop tombstoned.max_tombstone_count50//build/target/product/media_system.mk# On userdebug builds, collect more tombstones by default.ifneq (,$(...

2019-10-26 17:29:05 592

原创 arm64_memblock_init

本文来分析arm64_memblock_init函数的代码这个函数的主要作用是初始化memblock。关于memory的区间范围,已经在setup_machine_fdt函数中添加进来。这里主要是remove掉no-map的区域,并reserve一些关键区域:如kernel镜像、dtb块、ramdisk镜像和device tree中的一些需要reserve的节点。...

2019-07-01 20:16:06 1736

原创 setup_machine_fdt

本文来分析setup_machine_fdt函数的代码1.先讨论下dtb的物理地址变量__fdt_pointer2.关于fixmap_remap_fdt已经在https://blog.csdn.net/snail_coder/article/details/94023887中谈论,这里不再提3.谈论下early_init_dt_scan函数关于__fdt_pointer这个参数是由boo...

2019-06-28 20:17:02 1356

原创 early_fixmap_init

本文来分析early_fixmap_init函数的代码基于如下的配置,没有pud,因此可以提取到关键的代码如下CONFIG_ARM64_VA_BITS=39CONFIG_ARM64_4K_PAGES=yCONFIG_PGTABLE_LEVELS=3void __init early_fixmap_init(void){ pud_t *pud; pmd_t *pmd; unsign...

2019-06-28 19:41:06 1233

原创 fixmap_remap_fdt

本文来分析fixmap_remap_fdt函数的代码输入:dtb的物理地址输出:dtb映射后的虚拟地址功能:为dtb所在的物理内存建立映射void *__init fixmap_remap_fdt(phys_addr_t dt_phys){ void *dt_virt; int size; dt_virt = __fixmap_remap_fdt(dt_phys, &siz...

2019-06-28 19:40:38 1107

原创 EXT4-fs (loop0): bad geometry: block count 8192 exceeds size of device (1193 blocks)

想挂载一个ext4镜像文件,碰到错误,特此记录。$ file origin.imgorigin.img: Linux rev 1.0 ext4 filesystem data, UUID=57f8f4bc-abf4-655f-bf67-946fc0f9f25b (extents) (large files)mount时报错:mount:文件系统类型错误、选项错误、/dev/loop1 有坏...

2019-06-28 16:55:43 4019

原创 对fixmap实现动态内存申请的理解

本文谈谈内核初始话过程中是如何利用fixmap来实现动态分配内存的。关于fixmap的学习,可以参考这两份链接:http://www.wowotech.net/memory_management/440.htmlhttp://www.wowotech.net/memory_management/fixmap.html物理地址的分配是由memblock来完成,但这不意味这就可以使用了,还需要...

2019-06-28 11:11:56 927

原创 一个关于线性映射区的疑问

学习内存管理时一直有个疑问:内核虚拟地址空间中有一部分是线性映射用的,在内核初始化时会把物理内存映射到这个线性区域,既然映射已经建立完成了,那是不是就把物理内存全都占用了,用户空间是否就不能申请这些内存了?后来宋宝华老师给出了解释:被映射和被占用完全是两码事。下面就结合代码,谈谈我最这个解释的理解,以及自己碰到的疑问。我最大的疑问是,在实际项目中,我看到的线性映射区并没有对所有的物理内存进行...

2019-06-27 21:49:10 1856

原创 AB升级之odex文件首次开机处理

开启AB升级方案的项目,因为很多需要升级的镜像都有两份,所以存储空间比较浪费。为缓解此问题,有个针对odex的优化方案。编译版本会生成两个system镜像:system.img和system_other.img,其中,system_other.img中存储的就是odex文件,这样system.img就能小很多,意味着可以为system分区划分较小的空间。在首次开机时,假设system.im...

2019-02-20 17:55:01 1734

原创 Redhat Crash下载和编译

源码下载官网:http://people.redhat.com/anderson/不同版本下载地址:https://github.com/crash-utility/crash/releases截止到目前,最新版本是crash-7.2.4,crash-7.2.4.tar.gz大概37.4MB之所以这么大,主要是因为其中包含了gdb-7.6.tar.gz的源码。编译我要编译ARM64...

2018-12-30 22:34:26 2526

原创 qemu模拟arm64一直卡住不动

qemu模拟arm64实践中碰到的问题欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出...

2018-10-04 01:10:05 14416 4

原创 一个从ext4镜像中根据inode no获取文件内容的例子

输入文件:Android中编译生成的system.img 目标文件:/system/etc/system_fonts.xml 目标:在获取到文件inode no前提下,从system.img中获取到目标文件的内容 流程:先获取到文件的inode no,再根据这个no找到对应的block获取到inode,根据inode结构中的区段树找到数据block获取文件的inode no先把s...

2018-04-05 19:48:48 1107

原创 JobScheduler服务

1.概述 Android版本:5.1.12.服务端JobSchedulerService初始化初始化StateController StateController是job运行的触发器,只有系统的各个state满足某个job的条件时,job才能有机会运行起来。 这些state包括Battery、Connectivity、Idle和Time。他们大部分是在监听系统的某些广播,并进一步组织状态,并

2017-05-21 22:33:15 1109

原创 Android 开机动画流程

参考链接:http://www.mamicode.com/info-detail-399016.html1.启动surfaceflingerservice surfaceflinger /system/bin/surfaceflinger class core user system group graphics drmrpc onresta

2016-06-11 12:16:12 3176

原创 persist应用

1.什么是persist应用?在AndroidManifest.xml中的applicationtag中定义:android:persistent="true"在解析此应用时,给它增加一个flag:ApplicationInfo.FLAG_PERSISTENT// PackageParser.java parseBaseApplicationif ((flags&PARSE_IS_

2016-06-10 19:40:06 3142 1

原创 Androiod Input event

Q1:android的输入事件从哪里来?A1:从Input子系统中来,由EventHub来负责从Input系统中读取所有的事件linux内核提供了一个Input子系统来实现的,Input子系统会在/dev/input/路径下创建我们硬件输入设备的节点可以从/proc/bus/input/devices中读出eventXX相关的硬件设备frameworks/native/serv

2015-11-25 00:05:28 858

转载 epoll的帮助文档

1. epoll_createNAME       epoll_create open an epoll file descriptorSYNOPSIS       #include        int epoll_create(int size);DESCRIPTION       epoll_create()  creates  an  epoll "

2015-11-24 00:44:56 770

原创 android之Radio状态

android 5.1在Java层,Radio只有三种状态: enum RadioState { RADIO_OFF, /* Radio explicitly powered off (eg CFUN=0) */ RADIO_UNAVAILABLE, /* Radio unavailable (eg, resetting or no

2015-11-21 22:36:35 7746 1

原创 Android中的责任链模式

看看实际代码中的责任链模式Android 5.1源码中的ViewRootImpl.java中就使用了责任链模式。这是一张责任链的图(来自百度百科):    /**     * Base class for implementing a stage in the chain of responsibility     * for processing input even

2015-11-17 00:33:03 804

原创 读取SIM卡中的EF文件流程

介绍读取SIM卡中的EF文件的流程

2015-09-21 10:33:33 9064

原创 gcc编译常见问题

1. 查找不到某头文件原因一:自定义的头文件xx.h,但是使用如下:#include ,低级错误,应修改为: #include "xx.h"原因二:查找路径不正确参考http://blog.lehu.shu.edu.cn/byman/A255482.html中关于gcc查找文件的顺序描述;终端中输入如下命令:echo 'main(){}' | gcc -E -v -看到如下输出

2015-01-27 13:36:33 865

原创 Looper、Handler和Thread的关系

1.如何为Thread创建消息循环Threads by default do not have a message loop associated with themThread默认是没有绑定消息循环的,主线程是个例外,稍后讨论主线程。to create one, call {@link #prepare} in the thread that is to run the lo

2014-12-30 18:45:32 875

原创 android第三方资源客制化

如何预制一些文件到system/etc/目录(或其它目录)下?vendor/huaqin/3rdPart/al891_default

2014-10-03 17:40:07 1119 2

原创 PowerManager之UserActivity

UserActivity

2014-07-06 14:57:09 5049 2

原创 PowerManager之WakeLock

WakeLock

2014-07-05 21:36:50 6259

原创 Power Manager之DisplayPowerState.PhotonicModulator

Android4.4DisplayPowerState.java PhotonicModulator

2014-07-03 14:08:12 2839

原创 SystemProperty小结(Android4.2)

a

2014-05-08 10:16:04 1255

原创 jni的简单使用

1.java文件MainActivity.javapublic class MainActivity{ public static void main(String args[]) { new MainActivity().printHello(); new MainActivity().printString("Hello World, this string is fro

2014-04-29 13:44:03 914

原创 Keyguard之LockPatternView学习

LockPatternView.java

2014-04-15 12:43:31 3154

原创 Android MeasureSpec

在自定义View和ViewGroup的时候,我们经常会遇到int型的MeasureSpec来表示一个组件的大小://view.javaprotected void onMeasure(int widthMeasureSpec, int heightMeasureSpec)这里的两个int值分别代表组件的宽度和高度尺寸。这个值中它用一个int变量里来表示,其中既包含组件的尺寸大小,还

2014-04-02 17:36:32 871

原创 Android4.4之Keyguard--KeyguardViewManager

KeyguardViewManagerprivate ViewManagerHost mKeyguardHost;//Keyguard's root viewprivate KeyguardHostView mKeyguardView;public ViewManagerHost(Context context) {    super(context);    setBackgr

2014-03-31 11:37:20 2518 1

原创 Android4.4之Keyguard--KeyguardHostView

KeyguardHostView//Input--SecurityMode//Output--int value means which sim id//default is sim1 unless the SecurityMode is SimPinPukMe2、SimPinPukMe3、SimPinPukMe4private int getSimIdFromSecurit

2014-03-31 09:34:33 2400 1

原创 Android4.4之Keyguard一LockPatternUtils

a判断是否已安装facelock的方法// Check wheather facelock is installedpublic boolean isBiometricWeakInstalled() { // 1st Have installed app com.android.facelock PackageManager pm = mContext.getPa

2014-03-27 12:45:22 5377

原创 Android4.4之Keyguard--KeyguardSecurityModel

KeyguardSecurityModel.java/frameworks/base/packages/Keyguard/src/com/android/keyguard一、构造方法几乎只有一个成员变量:mLockPatternUtils,提供了修改其值的方法:setLockPatternUtils只有一个构造方法,传入Context即可初始化。private Cont

2014-03-26 17:53:03 2593 2

原创 Android4.4之Keyguard--KeyguardSecurityView

KeyguardSecurityView接口定义了各锁屏view最基本的方法public interface KeyguardSecurityView { static public final int SCREEN_ON = 1; static public final int VIEW_REVEALED = 2; //每个view都需要一个KeyguardSe

2014-03-26 17:02:17 3270

原创 Android4.4之Keyguard--KeyguardSecurityViewHelper

2014-03-26 14:55:13 2052 1

原创 Android4.4之Keyguard--KeyguardMessageArea

KeyguardMessageArea

2014-03-25 19:55:44 1549 1

原创 Android4.4之Keyguard--KeyguardUpdateMonitor

2014-03-25 14:16:26 7433

原创 Android4.4之Keyguard

1. KeyguardSecurityCallback接口KeyguardSecurityCallback.javapublic interface KeyguardSecurityCallback { void dismiss(boolean securityVerified); void userActivity(long timeout); boolean

2014-03-25 10:56:28 3389

原创 Android4.4之Keyguard一(LockSettingsService)

LockSettingsService.java文件目录:/frameworks/base/services/java/com/android/server与其它重要的系统Service一样,会在SystemServer中启动,它提供的服务名称为“lock_settings”SystemServer.java  initAndLoop()lockSettings = new

2014-03-18 15:03:15 4763

BarcodeScanner_4.7.3.apk

BarcodeScanner.apk version:4.7.3 Downloaded from Google Play Store 条码扫描器

2015-04-15

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除