自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

宋金时的专栏

士不可以不弘毅,任重而道远!你无法改变过去,却可以把握现在和未来,相信自己,无限可能!

  • 博客(175)
  • 资源 (77)
  • 收藏
  • 关注

原创 Fuse内核死锁导致的Android系统死机问题分析

19.7 案例7:Fuse内核死锁导致的系统死机问题1. 问题现象问题发生的Android系统版本是7.1(Nougat);界面定住,没有任何刷新,所有输入事件无效,包括电源键;watchdog没有重启system_server;问题现场可以连接adb;执行ps命令卡住;2. 初步分析对于死机问题,我们需要做一些分析前的准备工作:(1)拿到问题现场,及时充电以保证问题...

2019-03-14 17:24:05 5596 1

原创 FastJNI导致的Android系统死机问题分析

1. 问题现象问题发生的Android系统版本是7.0(Nougat);滑动屏幕和按键都无响应,屏幕内容没有任何刷新;watchdog没有重启system_server;问题现场可以连接adb;2. 初步分析对于死机问题,我们需要做一些分析前的准备工作:(1)拿到问题现场,及时充电以保证问题现场不被破坏;(2)如果没有现场可以忽略这一步,通过kill -3 后面...

2019-03-14 17:20:54 7139 3

原创 由Debuggerd导致的Android系统死机问题分析

1. 问题现象问题发生的Android系统版本是7.0(Nougat);屏幕没有任何刷新,输入事件无任何响应,即我们平时说的死机(冻屏);watchdog没有重启system_server;问题现场可以连接adb;2. 初步分析死机问题分析前的准备工作:(1)拿到问题现场,及时充电以保证问题现场不被破坏;(2)如果没有现场可以忽略这一步,通过kill -3 后面...

2019-03-14 17:19:12 3484

原创 聊一聊binder driver导致的系统重启问题

问题现象这个问题最早是由接电话重启的现象暴露出来的,当时看到异常信息是Native crash,栈如下:Build fingerprint: 'Xiaomi/scorpio/scorpio:6.0.1/MXB48T/6.10.8:user/release-keys'Revision: '0'ABI: 'arm64'pid: 1383, tid: 1400, name: Binder_1 >>>

2016-12-28 11:21:41 6702 2

原创 由Monkey测试引发的跨多个进程的Android系统死锁问题分析

一、问题现象1、界面定住,没有任何刷新,所有输入事件无效,包括power key2、adb shell可以连接并操作手机3、手机的data和sdcard存储空间已满4、watchdog没有重启system server二、解决方案通过初步分析、深入分析(具体分析过程和关键代码及log在下面)我们知道了问题的原因:1、monkey测试的过程中起了bugreport,并将bugreport输出到stdo

2016-10-14 15:49:32 7821 1

原创 由Asset中的double free引发的Android系统及APP崩溃问题分析

前言这个问题在来小米之前就遇到并解决过,当时的解决方案与朴老师的初步解决方案一样,本文在之前的初步分析结果之上进一步进行了深入分析,最终得出了当前看起来相对合理并符合原来架构设计的最终方案。 文中引用了朴老师抓的backtrace,同时在进一步分析的过程中朴老师也提出的大量有建设性的问题,感谢朴老师!一、问题现象1、systemui高频崩溃2、system server崩溃导致重启二、解决方案通过

2016-10-14 15:33:45 6895 4

原创 GDB在线调试Android Framework Native C/C++代码

一、准备工作1、下载并编译Android系统源码这里比较灵活,可以下载公司内部机型的代码,也可以下载原生AOSP的代码环境配置参考 https://source.android.com/source/initializing.html源码下载参考 https://source.android.com/source/downloading.html编译运行参考 https://sour

2016-11-03 13:28:52 5462 1

原创 Android Studio在线调试Android Framework Java代码

一、准备工作1、下载最新的Android Studio版本 https://developer.android.com/studio/index.html当前最新的大版本是2.2 2、下载Android系统源码这里比较灵活,可以下载公司内部机型的代码,也可以下载原生AOSP的代码环境配置参考 https://source.android.com/source/initializing.h

2016-11-03 13:17:05 10968 3

原创 由Ctrl+Z引发的系统卡死重启问题分析

起因JT同学拿着手机来找我说用着用着自动重启了,让我看一下,我抓出bugreport一看是system server发生watchdog重启了,然后接着看了一下traces,发现traces比较诡异。初步分析为什么说traces诡异?暂且一看都被thread 31持有的锁给block了,那就看看thread 31在搞什么飞机?"InputDispatcher" prio=10 tid=31 Nati

2016-10-14 15:22:04 5741 1

原创 由ContactsProvider的升级引发的OTA首次开机卡白米问题分析

上午的宁静被一个OTA卡白米问题打破,接下来不断有人反馈不同机型都复现了OTA后卡白米,10.9号OTA升级到10.10号的版本,全机型问题,线刷没有问题,好吧,接下来就根据这些信息开始初步分析log吧!初步分析查看问题log,发现Boot phase到了PHASE_SYSTEM_SERVICES_READY 并且走到了PackageManagerService.systemReady10-1

2016-10-14 15:11:18 2696

原创 Android4.4.2KK竖屏强制更改为横屏的初步简略方案

解决方案:当前是根据当前问题场景即竖屏强制更改为横屏的需求而做的改动,基本是hardcode定义的状态,总共修改有效代码行数5行,如果后续有其他需求或者需要更灵活的配置横屏和竖屏,可以采用编译开关生成系统属性的方式来控制,在系统中通过属性来判断当前的屏幕状态以达到灵活目的,可以在本次修改的基础上增加条件判断达到目的,具体修改代码如下图中圈红标识。一、Android Framework Java层的

2016-01-26 11:52:49 5134 3

原创 Mac OS下terminal的快捷键

时隔2年又开始使用Mac OS系统,之前的很多快捷键和常用的命令都忘记了,使用起来确实不方便,效率也低,特别是terminal下,所以对于terminal又找了一下并整理如下,希望对后来的同学也有用:control + a 将光标移到行首control + e 将光标移到行尾control + l 清空屏幕,与clean命令效果相同control + u 清除当前行control + k 清除至当

2015-08-26 22:33:39 3839 2

原创 温故知新,基础复习(二叉堆排序)

温故知新,基础复习(二叉堆排序)最小堆(最终数组的数据是降序),最大堆(最终数组的数据是升序)下例是最小堆#include #include void Swap(int Arra[],unsigned int LeftIndex,unsigned int RightIndex){ int TeampValue = Arra[LeftIndex]; Arra[LeftIndex]=Arr

2015-07-21 23:01:02 2218 1

原创 温故知新,基础复习(快速排序及优化)

温故知新,基础复习(快速排序及优化)使用了三值取中和插排优化#include#define InsertSortNumber 10void InsertSort(int Arra[],unsigned int LowIndex,unsigned int HighIndex){ printf("low=%d,high=%d\n",LowIndex,HighIndex); for (un

2015-07-21 22:19:19 2218

原创 温故知新,基础复习(一个有序从大到小不重复的数列,任意给出一个sum值,求出数列中所有满足和为sum的数对)

温故知新,基础复习(一个有序从大到小不重复的数列,任意给出一个sum值,求出数列中所有满足和为sum的数对)#include#includevoid PrintSumNumbers(int Arra[],int ASize,int Sum){ //O(1) if (ASize<2) { printf("The size of the Arra is invalid.\n");

2015-07-21 22:15:03 2299

原创 大数据处理时的一种BitMap小算法

一种大数据外部排序(内存无法加载所有排序元素)、去除重复元素、快速找到随机被删除元素的BitMap小算法,核心思想即通过将一个数作为下标(index)来索引一个bit表示一个数是否存在,排序时的时间复杂度为O(N),需要的额外空间的复杂度O(N/8),支持整个int范围(正负数都支持)的算法示例如下:char BitMask[] = {0x80 , 0x40 , 0x20 , 0x10 , 0x8

2015-07-21 22:02:46 7335

原创 Android5.0L下因sensorservice crash导致systemserver重启的另外一种场景分析

一、出问题的场景1、Sensorservice线程正在处理compass sensor事件的过程中,检查了一次buffer的指针的有效性,并在稍后会传递到AKM获取数据的函数接口中使用2、Sensorservice线程所在进程的负责跨进程通信的Binder线程在sensorservice线程检查buffer指针之后没有真正使用之前,收到了disable compass sensor的请求,从log

2015-07-03 16:13:55 3677

原创 Android5.0L中SensorService crash导致的systemserver重启问题分析

一、初步分析结论sensorservice多线程机制存在问题,导致在disable accel sensor并释放相应内存和数据之后,有很小的概率发生继续读取到未处理完的sensor事件,从而继续使用相应的内存和数据,并且没有做相应的防御保护措施,最终引起指针地址操作错误。二、解决方案1、首先在可能发生错误的地方做好防御保护措施2、对多线程进行同步,对于临界变量的操作都放置到临界区中,使用锁来保护

2015-07-03 15:48:40 4925

原创 Android4.4KK下遮盖p-sensor拨打电话无法自动灭屏的问题分析

一、问题现象先遮盖P-Sensor,然后拨打电话,90%的情况下屏幕无法自动关闭背光显示。关闭Settings-》Display-》Brightness-》Auto,然后再执行以上操作则100%能够正常关闭背光显示。Platform:MT6732Android版本:4.4KKBuildType:user系统软件版本:SWA1H+UM系统RAM:1GB参考机行为:参考机1正常,参考机2正常二、MTK

2015-07-03 11:44:48 6349 9

原创 AndroidKK4.4 Power key电量屏幕时button light先亮LCD后亮的卡顿问题分析

一、问题现象按下Power key点亮屏幕时,很大概率出现先亮button light,然后再亮屏的现象,明显感觉到卡顿。线索1、快速按下Power key熄灭和唤醒基本不会出现以上问题现象线索2、长按Power key会同时亮LCD和button light线索3、插入2G sdcard基本没有出现过以上问题,换成32G的class 10的sdcard之后就很大概率出现以上问题Platform:

2015-07-03 10:31:17 4460

原创 Android5.0L退出APP横竖屏切换导致的触摸屏输入(Touch Event)无效(冻屏)问题分析(Key Event仍然有效)

一、问题现象1、多次进出需要强制横屏的app,比如Real FootBall2015,在退出app的时候会有概率出现退出卡顿,然后TP无法输入的问题。2、出问题时Power key有响应。3、此问题同时在Driver only上有复现。Platform:MSM8916Android版本:5.0.2LBuildType:user系统软件版本:vA6P+L5P0系统RAM:1GB参考机行为:1、ALT

2015-07-02 20:56:25 6309 7

原创 Android5.0L因SystemUI ANR导致的黑屏问题分析

一、问题现象1、用户直观看到的现象是黑屏。2、出问题时StatusBar、NavigationBar和墙纸消失。3、大部分发生在FOTA重启之后,出现概率很低。Platform:MSM8916Android版本:5.0.2LBuildType:user系统软件版本:VA6V+L5V0系统RAM:1GB参考机行为:1、5.0L的Nexus4和5.1L的Nexus5都没有重现此问题。二、解决方案通过初

2015-07-02 20:29:08 8468 9

原创 Android System ANR caused SWT restart issue

一、问题现象1、用户直观看到的现象是System先ANR。2、ANR之后系统重启。测试方法:在录音的界面不停的滑动音量进度条,同时座机给测试机打电话,电话没有接通,只见界面冻结,弹出ANR,接着系统重启。Platform:MT6732Android版本:4.4.4KKBuildType:user系统软件版本:SWA3A+UMA0系统RAM:1GB问题概率:≈2%参考机行为:1、低概率问题,暂无参考

2015-06-30 11:44:14 4620 1

原创 Android Stability test occured SWT restart issue

一、问题现象1、System先ANR。2、ANR之后系统重启。测试方法:Stability test。Platform:MT6732Android版本:4.4.4KKBuildType:user系统软件版本:D17+ZX系统RAM:1GB问题概率:暂未统计,截止到目前仅此1次参考机行为:1、低概率问题,暂无参考机行为。二、解决方案通过初步分析、深入分析(具体分析过程、关键代码和log在下面会附上)

2015-06-29 18:36:46 3251 3

原创 Firefox OS简介

Firefox OS简介

2015-06-25 16:50:27 2235

原创 Android中网络流量控制(防火墙)——Iptables

Iptables简介iptables是与最新的 2.6.x 版本 Linux 内核集成的 IP 信息包过滤系统。如果 Linux 系统连接到因特网或 LAN、服务器或连接 LAN 和因特网的代理服务器, 则该系统有利于在 Linux 系统上更好地控制 IP 信息包过滤和防火墙配置。

2015-06-25 13:44:32 6105

原创 Android中Activity与Task相关的属性解析

与Task相关的属性解析Activity和TaskAffinity和新Task

2015-06-25 11:32:39 2603 1

原创 Android中各种颜色在dawable.xml中的定义

Android中各种颜色在dawable.xml中的定义

2015-06-25 11:18:16 2237

原创 Android数据的存储方式简介

作为一个完整的应用程序,数据存储操作是必不可少的。因此,Android系统一共提供了四种数据存储方式。分别是:SharePreference、SQLite、Content Provider和File。由于Android系统中,数据基本都是私有的的,都是存放于“data/data/程序包名”目录下,所以要实现数据共享,正确方式是使用Content Provider。

2015-06-25 11:09:29 1780

原创 Android获取Activity(应用)的运行状态及其他信息

Android获取Activity(应用)的运行状态及其他信息检测某Activity是否在当前Task的栈顶判断Android应用是否在前台获取Android手机内安装的所有桌面Android 判断程序前后台状态

2015-06-25 11:01:44 12737 2

翻译 Android Application Fundamentals——Android应用程序基础知识

Application Fundamentals——应用程序基础知识Key classes——关键类ActivityServiceBroadcastReceiverContentProviderIntentIn this document——在这篇文章中Application Components——应用程序组件Activating components: intents——激活组件:意图Shut

2015-06-25 10:48:26 3822

原创 Android字体Font相关知识

Android字体Font相关知识

2015-06-25 10:30:51 7510 1

原创 由Android的fastboot no permissions而引出的Linux特殊权限管理之:SUID、SGID、SBIT

由Android的fastboot no permissions而引出的Linux特殊权限管理之:SUID、SGID、SBIT

2015-06-22 15:56:26 3269 4

原创 TCL通讯上海产品创新中心职位推荐

TCL通讯上海产品创新中心职位推荐对于以下岗位如有感兴趣的同学请将简历发送至[email protected],我们的HR将会及时与您取得联系!以下是紧急招聘职位信息:

2015-06-08 17:38:52 4559 10

原创 Android ART runtime简述

文章目录:一、ART runtime简述二、ART无缝替换Dalvik原理简述三、ART执行本地机器指令过程简述

2015-06-05 19:58:58 2158

原创 Error:Execution failed for task ':app:compileDebugAidl'. > aidl is missing(Android Studio编译错误)

今天下载了一个1.2.1.1版本的Android Studio,使用VPN更新好SDK之后就新建了一个hello world工程测试一下环境,然后就出现以下错误:Error:Execution failed for task ':app:compileDebugAidl'. > aidl is missing

2015-06-03 22:24:10 105257 14

原创 Android Dalvik虚拟机简述(与Java虚拟机的区别和简要的执行原理)

文章目录:一、虚拟机简述二、Java虚拟机简述三、Dalvik虚拟机简述四、Dalvik虚拟机与Java虚拟机的区别五、Dalvik虚拟机执行原理简述

2015-06-03 19:39:44 3758

原创 获取Android系统memory的使用情况的脚本

mkdir memoryUsageadb shell dumpsys meminfo > memoryUsage/dumpsys_meminfo.txt adb shell cat /sys/kernel/debug/ion/ion_mm_heap > memoryUsage/ion_mm_heap.txt adb shell cat /proc/mali/memory_usage > me

2015-06-01 17:35:25 2837

转载 Android系统机制、框架、架构剖析(Android Anatomy and Physiology)

•Android Anatomy•Linux Kernel•Native Libraries•Android Runtime•Native Libraries•Android Runtime•Application Framework•Android Physiology•Start-up Walkthrough•Layer Interaction强烈推荐的Android系统机制、框架、架构剖析文

2015-06-01 17:18:20 2071

原创 Android中InCallUI显示太慢问题分析

完整分析流程和详细内容也可以下载PDF文档:InCallUI_issue_analysis_report一、问题现象当手机有来电时,先听到铃声,过了比较长的一段时间(3-4s)屏幕才点亮并显示来电界面。Platform:MT6581Android版本:4.4KKBuildType:userdebug系统软件版本:SWC1E+UP系统RAM:512M二、Android4.4来电及IncallUI显示

2015-06-01 17:00:35 10084 3

AndroidARTruntimeOverview_v1.0.0

AndroidARTruntimeOverview_v1.0.0_201506051944.pdf

2015-06-05

AndroidDalvikVMOverview

AndroidDalvikVMOverview_v1.0.0_201506031920.pdf

2015-06-03

Android Anatomy and Physiology

Android Anatomy and Physiology.pdf

2015-06-01

InCallUI_issue_analysis_report

InCallUI_issue_analysis_report_201407101029.pdf

2015-06-01

Drive_show_black_screen_issue_analysis_report

Drive_show_black_screen_issue_analysis_report

2015-06-01

BOOT_COMPLETED issue analysis report

BOOT_COMPLETED_issue_analysis_report_201407111625.pdf

2015-06-01

Device_Provisioned_issue_analysis_report

Device_Provisioned_issue_analysis_report_201408201558.pdf

2015-06-01

Android系统中基于Binder的IPC流程框架分析

Andrid系统中基于Binder的IPC流程框架分析_V1.0_201407251755.pdf

2015-06-01

MagnificationGestureMechanism_Introduce

MagnificationGestureMechanism_Introduce_v0.1.pdf

2015-06-01

Boot process and Manage of the Activity

Boot process and Manage of the Activity_201408261721.pdf

2015-06-01

Activity_boot_process_analysis

Activity_boot_process_analysis_201407231537.pdf

2015-06-01

Coredump简介及使用

Android Coredump简介及使用_v1.0_201504281025.pdf

2015-06-01

AndroidFrameworkBootUpOverview

AndroidFrameworkBootUpOverview

2015-06-01

wince下wifi无线连接源码以及整套需要的库

wince下wiFi无线连接源码以及整套需要的库

2013-10-22

linux缓冲区溢出漏洞攻击文件

linux 缓冲区溢出 漏洞攻击 获取root权限 shell

2012-10-29

arm常用指令

嵌入式资料\ARM资料\arm常用指令.pdf

2011-10-05

基于μC_OS-Ⅱ的嵌入式蓝牙协议栈的研究与实现.pdf

基于μC_OS-Ⅱ的嵌入式蓝牙协议栈的研究与实现.pdf

2011-09-18

基于ARM的嵌入式文件系统YAFFS的移植.pdf

基于ARM的嵌入式文件系统YAFFS的移植.pdf

2011-09-18

基于Qt4的SQLite数据库应用编程.pdf

基于Qt4的SQLite数据库应用编程.pdf

2011-09-18

基于GCC的交叉编译器研究与开发.pdf

基于GCC的交叉编译器研究与开发.pdf

2011-09-18

基于ARM的嵌入式流媒体播放器的设计.pdf

\基于ARM的嵌入式流媒体播放器的设计.pdf

2011-09-18

便携式红外相机中触摸屏原理与应用.pdf

\便携式红外相机中触摸屏原理与应用.pdf

2011-09-18

Uboot在S3C2440上的移植.pdf

Uboot在S3C2440上的移植.pdf

2011-09-18

Qt_Embedded在S3C2440平台上的移植与开发.pdf

Qt_Embedded在S3C2440平台上的移植与开发.pdf

2011-09-18

MPlayer和Qtopia在嵌入式无线卡拉OK点播终端中的应用.pdf

\MPlayer和Qtopia在嵌入式无线卡拉OK点播终端中的应用.pdf

2011-09-18

Linux下嵌入式系统中SQlite数据库的应用.pdf

\Linux下嵌入式系统中SQlite数据库的应用.pdf

2011-09-18

Linux内核在S3C2440上移植的方法.pdf

Linux内核在S3C2440上移植的方法.pdf

2011-09-18

Linux内核移植与USB无线网卡驱动的研究与实现.pdf

Linux内核移植与USB无线网卡驱动的研究与实现.pdf

2011-09-18

Linux内核移植与USB驱动开发.pdf

\Linux内核移植与USB驱动开发.pdf

2011-09-18

Linux操作系统在ARM9处理器上的移植.pdf

Linux操作系统在ARM9处理器上的移植.pdf

2011-09-18

KTV点歌系统需求分析说明文档2007-12-27.doc

KTV点歌系统需求分析说明文档2007-12-27.doc

2011-09-18

参考资料\KTV点歌系统的设计与实现.pdf

参考资料\KTV点歌系统的设计与实现.pdf

2011-09-18

KTV点播与管理系统的设计与实现.pdf

KTV点播与管理系统的设计与实现.pdf

2011-09-18

参考资料\C++获取MP3文件信息.doc

参考资料\C++获取MP3文件信息.doc

2011-09-18

ARM嵌入式Linux系统的研究与实现.pdf

ARM嵌入式Linux系统的研究与实现.pdf

2011-09-18

arm-linux-gcc-3.4.6-glibc-2.3.6.tar.bz2

arm-linux-gcc-3.4.6-glibc-2.3.6.tar.bz2

2011-09-18

u-boot移植实验\u-boot-1.3.2.tar.bz2

u-boot移植实验\u-boot-1.3.2.tar.bz2

2011-09-18

2410经典实验指导书3.2.pdf

2410经典 实验 指导书 3.2.pdf

2011-09-18

经典SQL语句大全.doc

简单易懂的数据库,经典SQL语句大全.doc

2011-09-18

tslib-1.4.tar.bz2

触摸屏库源代码\tslib-1.4.tar.bz2

2011-09-18

空空如也

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

TA关注的人

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