![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
android系统相关
文章平均质量分 56
淡淡的宁静
非宁静无以致远,非淡泊无以明志
展开
-
系统自动重启异常-总结网上看到的博文
watchdog timeout 有两种,一种是cpu的watchdog timeout,称为HWT(hardware timeout),SWT(software timeout)。监测cpu的watchdog主要是监测cpu是否卡死,cpu喂狗间隔是20s,而超时时间是30s,也就是说最长能容忍卡住的时间是10s(卡一小会还是可以的),超过这个时间,系统就会复位了。这里还有问题,由于喂狗进程...原创 2017-12-19 11:28:04 · 5210 阅读 · 0 评论 -
wifi连接-密码正确但连接时supplicant state返回的是ERROR_AUTHENTICATING(Android M 6.0)
frameworks\opt\net\wifi\service\java\com\android\server\wifi\WifiStateMachine.javaframeworks\base\core\java\com\android\internal\util\StateMachine.javaframeworks\base\core\java\com\android\interna...原创 2019-06-12 13:55:44 · 1773 阅读 · 0 评论 -
添加字体文件到系统
如何添加新的字库新增字库有2种方法,一是替换原有的字库、二是加入到系统字库,其具体方法如下:一、替换系统原有的字库:如替换中文字库,把这个三方字库重命名为DroidSansFallBack.ttf,并拷贝到alps\frameworks\base\data\fonts下进行替换,重新编译就行。如需替换其他字库(请参考FAQ12255 ,FAQ04224 )找出对应的字库并替换。二、添加到系统字库1...转载 2018-05-31 17:55:48 · 1038 阅读 · 0 评论 -
长按power键的流程&&PhoneWindowManager的nullpointexception导致system_server crash 导致系统重启
前面的事件派发过程就跳过了,从PhoneWindowManager开始说起安全模式简述android平台,在长按power / menu键时会快速进入一个模式选择,部分定制的平台是直接进入安装模式,也可以定制成公司需要的一些特定功能模式,比如报警 ...power 也属于全局的特殊按键,同样在PhoneWindowManager.java中被捕获处理。Po...原创 2019-06-12 13:56:27 · 625 阅读 · 0 评论 -
修改系统默认自动旋转--关闭跟随系统旋转,并默认设为横屏(修改SettingProvider中的default.xml)
开机默认固定横屏,是指第一次刷机开机或恢复出厂设置,开机时Launcher固定横向。当然,想要开机动画等同样横向显示,则需修改驱动的启动部分,在此,只说说应用层的默认固定横向。 在frameworks/base/packages/SettingsProvider/res/values/defaults.xml中,<bool name="def_accelerometer...转载 2019-06-12 13:58:07 · 6119 阅读 · 1 评论 -
系统相关的流程图和UML图
startActivity半程总结上图补充android N以后的分支:在判断ActivityStack#mResumedActivity是否为null前,会调用ActivityStackSupervisor#pauseBackstacks(...),该方法会逐个去调用所有后台Stack的startPausingLocked(...)。顺便说明一下进入startSpeci...原创 2018-09-19 18:00:47 · 1217 阅读 · 0 评论 -
Android系统固定横屏
方法一:/frameworks/base/services/java/com/android/server/wm/WindowManagerService.javaint computeForcedAppOrientationLocked() { int req = getOrientationFromWindowsLocked(); if (req ...转载 2018-09-29 18:32:25 · 2764 阅读 · 0 评论 -
Android(Linux)中的访问硬件设备
是不能直接访问的,把直接访问的任务写在驱动层,而应用访问必须经由驱动层生成一个设备节点,然后把通过这个设备节点访问,然后最终会调用驱动层的代码去访问。所以可以访问/dev/目录下的字符设备并不是说可以直接访问硬件,只是一个访问驱动接口罢了。驱动层是唯一能直接和硬件交互的,这个linux系统的框架设计。如访问GPIO,只能通过驱动给的设备节点去访问,即使拥有某个硬件节点的文件权限,也是无法访问的。可...原创 2018-10-22 18:04:56 · 681 阅读 · 0 评论 -
Android应用访问GPIO(针对MTK芯片)
调试先查看有没有/sys/devices/virtual/misc/mtgpio/pin,如果有,则尝试以下命令echo -wmode 48 0 > /sys/devices/virtual/misc/mtgpio/pinecho -wdir 48 1 > /sys/devices/virtual/misc/mtgpio/pinecho -wdout 48 1 > /...原创 2019-06-12 14:00:41 · 1730 阅读 · 0 评论 -
Anddroid内核Linux的头文件详解
头文件主目录include头文件目录中总共有32个.h头文件。其中主目录下有13个,asm子目录中有4个,Linux子目录中有10个,sys子目录中有5个。这些头文件各自的功能如下,具体的作用和所包含的信息请参见第14章。<a.out.h>:a.out头文件,定义了a.out执行文件格式和一些宏。 <const.h>:常数符号头文件,目前仅定义了i节点中i_mod...转载 2018-10-23 09:24:16 · 570 阅读 · 0 评论 -
Android的linux内核 /dev目录详解和Linux系统各个目录的作用
转自:作者:maopig来源:CSDN原文:https://blog.csdn.net/maopig/article/details/7195048Linux /dev目录详解在linux下,/dev目录是很重要的,各种设备都在下面。下面简单总结一下:dev是设备(device)的英文缩写。/dev这个目录对所有的用户都十分重要。因为在这个目录中包含了所有Linux系统中使用的...转载 2018-10-23 11:32:57 · 6450 阅读 · 1 评论 -
Android系统属性服务
转自:https://www.cnblogs.com/l2rf/p/6610348.html1、简介 在android 系统中,为统一管理系统的属性,设计了一个统一的属性系统。每个属性都有一个名称和值,他们都是字符串格式。属性被大量使用在Android系统中,用来记录系统设置或进程之间的信息交换。属性是在整个系统中全局可见的。每个进程可以get/set属性。在编译的过程中会将各种系统参数...转载 2018-10-31 17:39:18 · 4252 阅读 · 2 评论 -
开机铃声没有声音
1.检查是否有音频文件,即/system/media/bootaudio.mp32.抓取开机log。要完整的/system/bin/bootanimation在init.rc在boot阶段运行framework/base/cmds/bootanimations是/system/bin/bootanimation的源码 在main_log.boot搜索BootAnimation关...原创 2018-11-07 18:30:19 · 590 阅读 · 0 评论 -
Android实现双屏异显
主要类:Presentation、DisplayManager、Display1.如何获取设备上的屏幕? DisplayManager mDisplayManager;//屏幕管理类 Display[] displays;//屏幕数组 mDisplayManager = (DisplayManager)context.getSystemService(Con...转载 2018-11-30 14:36:46 · 7112 阅读 · 0 评论 -
Jack Server--Android N AOSP编译--Failed to contact Jack server
准备今天正式担任Android7.0(N)项目模块的开发和维护工作,借此机会git和make了一套系统代码用来研究。在编译的过程中,与以往系统不同的是Android7.0系统编译工具链使用了全新的Jack server来取代以往的编译器工具,所以在编译的过程中可能出现一些小问题,后面将为大家总结介绍!Jack server一、介绍我们先来看一下关于Jack server官方介绍: Jack is...转载 2018-05-07 20:52:11 · 3983 阅读 · 0 评论 -
Launcher2分析-Launcher,DragController,DragLayer,Workspace,HotSeat,CellLayout,之间的关系
相关的博客:Launcher2分析——桌面(WorkSpace)图标拖拽DragTarget为Workspace(或者是Folder),DragObject为正在拖拽的那个Item,该对象持有一个DragView 对象,这个DragView就是跟随手指动的那个View。在桌面的视图结构中,DragLayer是Workspace和HotSeat的父视图,而CellLayout则是Workspace和...原创 2018-05-06 19:19:24 · 1036 阅读 · 0 评论 -
Android5.0 Recovery源代码分析
转载自:http://blog.csdn.net/morixinguan/article/details/72858346在Tiny4412的Android5.0源代码中:bootable/recovery/recovery.cpp是recovery程序的主文件。仔细一看,对比了其它平台的recovery源代码,除了MTK对Recovery做了相应的定制外,其它的平台几乎没有看到,转载 2018-01-27 16:05:43 · 3128 阅读 · 0 评论 -
fota升级失败小结(recovery.cpp)
1.查看升级成功和失败的recovery的log,在/cache/recovery/last_log2.用sourceinsight导入/bootable/recovery,根据log,全局搜索。逐步分析3.有些没有的方法可能存在/system或者/bionic下。4.如果没有想要的,可以用串口去在recovery期间抓取完整的log,但是串口不是usb,需要拆开机器去焊接引出几根串口线,...原创 2019-06-12 13:47:17 · 4721 阅读 · 0 评论 -
Wlan学习备忘(上)
STA(station),工作站;AP(Access point),接入点。basic service area (BSA) ------- AP覆盖的区域basic service set (BSS): a single access point (AP) together with all associatedstations (STAs) is called a BSS;最简单的情况为:...原创 2019-06-12 13:46:41 · 1509 阅读 · 0 评论 -
Wlan学习备忘(下)
HSM(对应的类是StateMachine)和AsyncChannel是Android Java Framework中两个重要的类。不过,它们目前还仅由Framework内部使用,SDK中并没有包含它们。这两个类的作用如下。·HSM在传统状态机对所有状态都一视同仁的基础上做了一些改变,使得状态和状态之间有了层级关系。HSM中的状态层级关系与Java中父子类的派生和继承关系类似,即在父状态...原创 2019-06-12 13:46:55 · 859 阅读 · 0 评论 -
客制化知识小结--device目录下的文件解析
老罗的文章:http://blog.csdn.net/luoshengyang/article/details/18928789 http://0xcc0xcd.com/p/index.php(进击的程序员)vendorsetup.shadd_lunch_combo full_yyd8163_tb_m-engadd_lunch_combo ful...原创 2019-06-12 13:47:49 · 3436 阅读 · 0 评论 -
开机logo和开关机动画
转载自:http://blog.csdn.net/u014770862/article/details/52624627android5.1中,开机LOGO部分和之前版本的并不相同,主要区别在于android LOGO显示部分。此博客所讲之处若有错误,敬请原谅,谢谢!开机LOGO一般有两种:静态的和动态的,Android开机时共有三种LOGO(5.1之前可能算是4种吧)。1. uboot显...转载 2019-06-12 13:48:41 · 8420 阅读 · 0 评论 -
android手机使用完整的linux命令——busybox的安装和使用
1.. 先要把手机给Root了,具体教程这里就不提供了,网上有很多。2. 下载BusyBox的binary,打开这个地址 http://www.busybox.net/downloads/binaries ,选择最新版本,然后下载对应你的设备架构的版本,这里我下载了busybox-armv6l,下面将以这个文件名为示例。3.将busybox-armv6l重命名为busybox4. 复制 busyb...原创 2018-03-01 19:07:44 · 8704 阅读 · 0 评论 -
wlan协议—802.11n—802.11ac 5G和2.4G
802.11n:支持2.4G和5G802.11ac:只支持5G。802.11n和802.11ac中所描述的信道号如果是相同的,那么对应的通信频段也是相同的。只是协议不用。目前支持802.11ac的路由还不多。而且并不是所有设备都支持ac,使用WifiManager可以知道该工作站是5G还是2.4G的,甚至是连接的是哪个信道,对应的频段的中心频率是多少都可以得到,但是无法获得路由(工作站...原创 2019-06-12 13:48:31 · 19899 阅读 · 0 评论 -
wlan mac地址 network interface IPv6 IPv4
网络接口获取:Enumeration<NetworkInterface> interfaces = NetworkInterface.getNetworkInterfaces(); while(interfaces.hasMoreElements()){ String name = interfaces.n...原创 2019-06-12 13:55:20 · 1458 阅读 · 0 评论 -
Launcher2分析——桌面(WorkSpace)图标拖拽
相关博客:Launcher2分析-Launcher,DragController,DragLayer,Workspace,HotSeat,CellLayout,之间的关系长按图标触发进入拖拽模式:在Launcher#setupViews()为WorkSpace绑定了onLongClickListener。所以从Launcher#onLongClick()开始:Launcher#onLongClic...原创 2018-03-27 22:20:37 · 851 阅读 · 0 评论 -
android6.0 power显示(亮度等)深入分析(一)PowerManagerService & DisplayPowerController
之前android5.1我们分析过power,但是那篇博客从整体分析显得有些杂乱,这几篇博客都从power的功能来分析,个人觉得更好理解。一、PowerManagerService的显示相关函数由于之前博客都分析过,我们就直接进入PowerManagerService的和显示相关的主体:updateDisplayPowerStateLocked函数:[cpp] view plain copy pr...转载 2018-03-29 14:57:58 · 296 阅读 · 0 评论 -
android6.0 power显示(亮度等)深入分析(二)DisplayManagerService
上篇博客我们分析了,PowerManagerService和DisplayPowerController这两个类,我也提到了和android5.1的变化,把背光这块放到了DisplayManagerService中了,之前这块没有分析过,今天分析下DisplayManagerService和背光的关系。看了DisplayManagerService的注释,发现现在所以的显示设备都放在Display...转载 2018-03-29 14:59:48 · 848 阅读 · 0 评论 -
Launcher2分析-加载Workspace数据和绑定
通过调用LoaderTask#startLoader()数据加载和绑定,该方法在Launcher#oncreate()中被调用:if (sPausedFromUserAction) { // If the user leaves launcher, then we should just load items asynchronously when ...原创 2018-05-03 11:15:59 · 654 阅读 · 0 评论 -
Launcher2分析-加载和绑定AllApp列表
上篇关联博客:Launcher2分析-加载Workspace数据和绑定Android应用列表的视图就在launcher.xml中,也就是说应用列表视图一开始就已经加载好了,只是没有显示出来,属性为invisible,它是和Workspace在同一个viewgroup中。id为apps_customize_pane,实际类型为com.android.launcher2.AppsCustomizeTa...原创 2018-05-04 22:31:45 · 960 阅读 · 0 评论 -
Android 7.0中的多窗口-分屏-实现解析
禁用APK分屏-AndroidManifest.xml添加属性:android:resizeableActivity="false" Android 7.0中的多窗口实现解析标签: Android N多窗口在以往的Android系统上,所有Activity都是全屏的,如果不设置透明效果,一次只能看到一个Activity界面。但是从Android N(7.0)版本开始,系统支持了多...转载 2018-11-30 14:39:08 · 1834 阅读 · 0 评论