- 博客(142)
- 资源 (4)
- 收藏
- 关注
原创 monkey测试关机/重启问题分析(二)
最终走到frameworks/base/services/core/java/com/android/server/statusbar/StatusBarManagerService.java。GlobalActionsDialogLite内部有很多内部类,继承实现了onPress接口,对应真正的点击事件。到这里,就定位到按钮点击跳出关机dialog的地方。从代码看,这是一个adapter适配器。通过Android 布局分析工具发现。按钮初始化和点击事件。关机按钮的实现类如下。
2023-06-07 17:20:01
350
原创 anr log打印流程---Java层
本问介绍一下anr之后,系统打印log的流程。加深对anr问题的理解。anr触发原理分析可以看看这个文章cpp代码比较多,我选择放弃了。从java层log往后看吧。。。
2023-05-26 15:45:05
639
原创 Android anr问题分析
本文主要介绍anr问题一手分析、分类判断,归类后提case给平台处理。不是针对应用开发的anr分析和优化处理。anr问题主要分为1、input 无焦点anrReason: Input dispatching timed out (Application does not have a focused window)2、input 有焦点anrReason: Input dispatching timed out (eadf99 net.zedge.android/net.zedge.android.
2023-05-17 16:44:48
394
原创 Android权限描述
某些应用会自定义权限,定义权限时可以添加说明。比如launcher中自定义的权限。如果权限没有description也没有注释,那就比较坑了。只能祈祷权限名字可以看出来大概是什么东西。所幸,源码中权限的声明、注释还是比较全的。源码中的权限声明在这里/frameworks/base/core/res/AndroidManifest.xml使用在所有源码应用中。有一套完整的权限检测。apk也可以自己声明权限,对访问自己的外部请求做一些限制。
2023-04-20 17:25:17
326
原创 Android 默认设置
出现该现象的原因为Google设计snapshot进行了压缩,snapshot的尺寸比应用分辨率低,导致从snapshot到应用真正的界面时出现清晰度的变化,Google解决热启动应用时,为了用户体验,先加载snapshot(一张图片,内容和退出应用时的内容相同)遮盖应用的启动流程,保证应用加载的流程性。应用热启动时,go版本应用界面模糊再变清晰(比较明显)
2023-03-28 17:52:44
99
原创 Android launcher 上滑进入allapps和recentUI
reportDragStart–>onDragStart:设置停顿监听,滑动停顿时,进入退出recentUI的peek动画(动画实现在FlingAndHoldTouchController.onDragStart)onTouchEvent.move中–>reportDragging–>onDrag: 持续判断手势是否在可停顿范围内,是否可停顿,修改标志位。Q和R差异上滑进入allapps和recentUI手势有了名下区别,本片文章主要分析recentUI界面进入退出时机。
2023-03-27 15:54:16
391
原创 长按添加widget,和recentUI界面结合使用,widget添加流程被打断,导致各种异常问题
时间:2021/04/19之前公司不允许csdn,笔记写在其它地方。最近整理过来。
2023-03-27 15:35:38
23
原创 launcher中隐藏应用图标
如果有些应用是连外网登陆Google Play之后, 由三方apk发送广播添加到桌面多出来的图标,需要另外过滤。4、以上只屏蔽了应用图标加载流程。
2023-03-27 15:32:12
93
原创 launcher allapps界面添加favoriteApps常用的显示和分割线
时间:2020/12/29之前公司不允许csdn,笔记写在其它地方。最近整理过来。应用列表界面最上方添加常用应用和分割线
2023-03-27 15:16:38
211
原创 launcher 谷歌搜索框定制需求
因为主要是对底边栏图标的偏移量,isShowHotSeatSearchWidget的控制我们放在packages/apps/Launcher3/src/com/android/launcher3/Hotseat.java。读取配置之后,我们需要在恰当的时机改变 isShowHotSeatSearchWidget这个值,来判断是否需要添加偏移量。主界面google搜索栏显示在顶部,recentUI界面搜索栏显示在底部。ScrimView 上滑箭头默认位置和动画过程中位置调整。
2023-03-27 14:13:21
395
原创 launcher数据加载(二)
加载流程之前写过很多文章,加载流程(一)有兴趣的可以看看。本文主要介绍一下launcher是怎么查询到各种图标或者快捷方式或者widget的。
2023-03-24 16:34:27
133
原创 如何查看编译launcher的版本
有时候,我们发现修改apk中的资源或者xml配置,无法生效,全局搜索同明的文件,rom里发现各种路径下存在相同文件。上面会走到gms****.mk vendor/partner_gms/products/gms****.mk。从apk的命名可以知道mk文件编译的那个变量,以GmsSampleIntegrationGo为例子。找到对应的编译部分,可以查到res和src使用的哪个目录,方便定位修改文件。如上,刷了rom之后,按照包名打印出apk的安装位置。的工程的mk文件(如何得到这个包名见。
2023-03-24 15:55:12
268
原创 android Q launcher 数据加载流程
androidQ和androidP上Launcher结构有很大区别。LoaderTask从LauncherModel中分离出来LoaderTask也没有直接取调用LauncherProvider,而是通过LauncherSetting.callLauncherSetting:工具类,保存Launcher中用到的一些静态值,类似于key值。
2023-03-24 15:36:52
285
原创 Launcher目录对应的功能
具体使用哪一种功能组合看项目配置,最完整的是SearchLauncherQuickStep。之前公司不允许csdn,笔记写在其它地方。
2023-03-24 11:41:17
33
原创 SystemUI返回键手势和launcher上滑手势
这篇文章的角度比较奇特,它更偏向手势触发的界面生命周期变化、界面原理、涉及到framework和systemui部分的介绍,对于launcher本身内部流程没有过多篇幅。可能比较关注launcher内的某部分细节,都是之前做需求或者改bug摸索到的。最近修改bug和需求,接触到系统手势这一块,发现是一个薄弱点,以前没有改过。这一篇文章介绍了launcher中的手势处理流程,大局观和概念理解有帮助。手势这一块设计的模块和流程比较多,记录一下别人写的比较好的文章参考一下。没有具体的没有给区域细节分析。
2023-03-23 16:43:12
611
原创 Launcher三方应用界面手势
是task当前的缩放值,三方界面的时候最大----recent大小的时候是1—继续上滑会小于1。使用布局工具动态跟踪,发现其它task是在位移的。,这里只是注释掉跟手效果的界面,手势判断还是有的,上滑up之后home,滑动停顿up之后recent。在AndroidR上,和AndroidQ大同小异,只是代码结构发生了变化,类的名字变了。没有动画起始值和目标值------需要在update中计算每一帧界面,达到想要的效果。客户在低配置机器上,原生的三方应用界面上滑home动画负载太重,动画效果卡顿。
2023-03-23 14:49:04
241
原创 testDefaultGrantsWithRemoteExceptions
默认权限报错,在frameworks/base/services/core/java/com/android/server/pm/permission/DefaultPermissionGrantPolicy.java中grantDefaultPermissions。查看是否有修改默认权限的,做删除或者添加之后再测测。
2023-03-13 15:33:51
83
原创 UDT时间格式转换为时间戳
网络请求中要求传入时间戳,如果修改设备时间,传入的时间戳和服务器的时间不匹配,服务器会认为非法请求,返回404.当测试时发现第一次可以正常获取,想测试第二次的值,手动改了设备时间到2天后,发现请求异常。如果后续的请求传入timestamp中的时间,就不会因为设备时间导致后续请求异常。但是时间格式很诡异,单T的UTC时间格式,需要转化为long类型的时间戳。使用的地方,解析服务器时间,如果解析异常,使用当前设备时间。和客户对接服务器请求,网络请求中要求传入当前时间戳。服务器请求间隔取间隔1天1次。
2023-03-13 10:33:53
34
原创 framework配置
RecentsActivity具体实现。长按非常长事件power键。zoomed壁纸缩放配置。连按三次power键。recent功能配置。
2023-03-09 16:07:25
39
原创 Android 12 分屏模式配置
默认配置0,当设备尺寸大于config_largeScreenSmallestScreenWidthDp时,就默认应用支持分屏。frameworks\base\core\res\res\values\config.xml中配置了分屏的模式。在做pad项目时,发现很多不支持分屏的应用都被分屏了。导致各种显示异常的bug。1、反编译apk发现,apk本身是不支持分屏的。2、和客户研发沟通,发现是Android 12L的新特性。会根据apk是否支持分屏判断。
2023-02-09 15:56:16
409
Zygote启动流程-systemServer启动流程-homeLauncher启动
2019-04-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人