自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(15)
  • 收藏
  • 关注

原创 为Android Edify扩充功能

为Android Edify扩充功能Edify简介Edify 命令添加Edify命令Edify简介  Android的刷机包文件解压,会有这样的目录:/META-INF/com/google/android/,该目录下有两个文件update-binary和updater-script。updater-script是用Edify语言写成的文本文件,update-binary是源码下/bootab...

2019-01-16 17:34:34 498

原创 对Binder机制的一点深入探究(一)

对Binder机制的一点深入探究(一)1.背景Activity的启动过程Activity主动与AMS交互过程2.从AMS到APP,Token的传递过程1.背景  之所以研究这个问题是因为看到应用程序和AMS交互的过程中,有些代码让我觉得很神奇如下所示:Activity的启动过程  我们知道系统在启动一个Activity的时候会先创建一个ActivityRecord对象,然后在Activit...

2019-01-09 16:53:23 322

原创 android V2签名文件格式

2018-11-21 14:00:51 814

原创 Android动态申请Camera权限应用闪退问题

问题:客户反馈他们应用第一次打开申请相机权限,应用退出,需要第二次打开。分析:先写一个简单的应用测试下测试结果:        应用在申请完相机权限之后确实会被系统杀掉,日志中打了如下日志        Killing 8269:com.example.android.camera2basic/u0a85 (adj 100): permission grant or revoke chan...

2018-10-26 17:33:25 8595 5

原创 android 防止应用被lowmemorykiller杀掉

  网上关于lowmemorykiller的文章一大把,总结一下,系统会不断更新进程的adj值,然后在内存紧张的情况下,adj越大的应用越可能被杀,那么我们要防止被杀,要么是给我们的应用设置比较小的adj值,要么是要杀的时候过滤我们的应用,因为杀进程是比较偏底层做的,不太熟悉.所以优先考虑,系统计算adj值的时候直接给我们的应用adj值赋为-1.  直接说方法,系统计算过adj之后会通过下属方...

2018-10-12 16:16:03 3752

原创 android N InputDispatcher中按键分发之notifyKey之后流程详解

  该篇文章仅分析notifyKey之后的流程,InputReader怎么读取之类的本文不关心.本文重点关注InputDispatcher和java层的交互,包括调用interceptKeyBeforeQueueing和interceptKeyBeforeDispatching方法,以及有辅助服务拦截按键时的处理.1.notifyKey主函数void InputDispatcher::n...

2018-09-27 18:04:15 1775

原创 AccessibilityService的onKeyEvent方法分析,顺便初探Android的按键传递机制

  背景:我们的设备有实体键盘,有0,1,2,3,4,5,6,7,8,9实体按键,原来玩过诺基亚塞班系统的都知道,会有个Aa键和数字按键切换的按键,切换之后这几个实体按键可以输出字母,比如当切换到小写字母状态时,按一下2,会输出a,快速点击两下则会输出b,以此类推  问题:客户写了一个辅助服务来获取系统的按键,但是,只能获取到数字按键,不能获取到字母按键.  分析:这个问题肯定要去分析按键...

2018-08-14 15:38:10 5726 5

原创 AndroidN去电流程中和InCallUI的交互(拉起界面过程分析)

  在分析android N拨打电话流程中分析了,从拨号盘到RIL.java的流程,没有分析拨号过程和UI的交互,这篇文章来说明,拉起InCallUI的过程.  在上篇文章中可以知道CallIntentProcessor中会通过processOutgoingCallIntent来调用CallManager的startOutgoingCall和NewOutgoingCallIntentBroad...

2018-08-07 10:51:44 2330

原创 Android TeleComm 初探

  安卓在5.0之后在TeleService和IncallUI之间多加了一层TeleComm,个人感觉是不想让IncallUI和Phone进程联系过于紧密,也便于其他通话方式的添加(不仅仅局限于通过电信运营商拨打传统电话),好了话不多说,开始分析,本文基于安卓7.1分析.1.首先SystemServer在startOtherServices函数里会拉起TelecomLoaderService...

2018-08-04 11:14:06 2987

原创 Android N 电量使用情况之蓝牙耗电量

    遇到的问题:设备电量使用情况中,蓝牙的耗电量很高,都可以达到百分之90。    第一次尝试解决:    首先先查看了power_profile.xml,发现该文件没有配置bluetooth.active和bluetooth.on两项,以为自己找到了原因,就把这两项配置了一下,结果,还是不行,又把这两项全部改成0,还是不行,没办法了,只能分析代码了。(1) BatteryStatsHelpe...

2018-06-28 17:53:53 2558

原创 android N拨打电话流程

本文主要分析从拨号盘拨号发出Intent开始,最终到RIL.java中执行拨号操作的过程。

2018-06-15 17:06:46 1548

原创 Android sharedUserId引起的血案

前段时间遇见过这样一个问题,值得记一笔。背景:    我们原来在5.1设备上有一个32位的so库,系统进程直接使用该so库,因为当时系统也是32位的,没有出现问题,现在,我们切到了7.1的新64位平台,但是该so库我们没有源码,所以我们无法在64位系统进程中用32位的so库(反正我不知道怎么用),所以我们写了一个apk,单独运行在一个进程,被设置为32位apk,因为一些权限问题,该应用被设置sha...

2018-06-06 17:59:12 1318

原创 Android N 插拔USB行为分析

在Anrdoid L的版本上,如果用户USB连接PC设备后,选择MTP模式,然后移除连接,再次重新连接之后,设备还是以MTP模式连接的。而在Android N上,如果用户按照相同的操作,设备却是以充电模式连接的,这是为什么呢?如果更改才能回到以前的逻辑呢? private static final String USB_STATE_MATCH = "DEVPATH=/devices/virt

2018-01-20 10:11:55 1481

原创 android 设置休眠时间后,系统行为简析

android手机进入设置,在进入显示,有个休眠时间的选项。可以设置多久不操作后熄灭屏幕。android熄灭屏幕实际根据系统当前wakeLock锁的数量和类型有关,本篇文章不讨论这个问题。只是本人发现了一个奇怪的现象:1.设置休眠时间为1分钟,在launcher界面不做任何操作,大概一分钟左右灭屏,和设置中时间相同。2.灭屏后按电源键唤醒屏幕,在锁屏界面不做任何操作,感觉十秒左右屏

2018-01-10 14:52:03 5951 1

原创 Android N 状态栏图标显示白底问题分析

前几天客户投诉,客户的apk在我们的设备上状态栏图标不能显示应用本身的图标,而是显示为正方形的白底图片.  首先遇到这个问题肯定是先百度一发...  然而在网上找到的文章全市基于Android L的代码分析,已经不适用Android N,所以针对Android N状态栏变色的流程说明一下.  Android N现在对通知还有状态栏图标的处理逻辑是:  1.首先判断APK的targe

2017-11-15 10:02:31 1399

空空如也

空空如也

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

TA关注的人

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