![](https://img-blog.csdnimg.cn/20201014180756754.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
frameworks
文章平均质量分 57
纵容_伊人倩影
android rom上层模块launcher wallpaper systemui telephony等等
稳定性萌新
展开
-
无障碍快捷方式图标
是通过android.accessibilityservice.AccessibilityService注册然后系统自动加载进去的。setting里获取方式和systemUI一样。都是通过service的resolveInfo.loadIcon(mPm);setting里把Drawable转换成了AdaptiveIcon,再传给了preference。由此可见,systemui里直接显示的支持无障碍Service/activity的原图。测试反馈,无障碍快捷方式和setting里的无障碍图标不一致。原创 2024-07-08 19:26:23 · 636 阅读 · 0 评论 -
Android 通知访问权限
1、setting界面搜“授予通知访问权限”,此按钮灰色不可点击,点击提示“受限设置” “出于安全考虑,此设置目前不可用”。跟踪这个值异常的原因。此弹框主要是为了防止未知来源的apk文件请求权限,正规途径安装不受影响。2、通过play store安装。点击提示“受限设置” “出于安全考虑,此设置目前不可用”。可以看出,只有当是本地apk文件安装时,才会设置此限制。原创 2024-07-09 14:19:35 · 929 阅读 · 0 评论 -
framework watchdog
只是获取一下同步锁,看看service有没有在运行其它任务。从log可以看出,watchdog的run和mHandler.run不在同一个线程。那么它到底是如何判定系统卡住了,这里简单了来看一下watchdog的代码了解一下。一直依赖,都直到framework有个watchdog,监听主要进程是否卡死。如果卡住60秒就会杀死所在进程也就是system_server,上层重启。如何判断系统是否卡住了、waitState如何赋值。如果长期运行其它任务,就无法获取到mLock。整个方法有2个地方需要注意。原创 2023-09-28 20:33:06 · 251 阅读 · 0 评论 -
Android studio “Layout Inspector“工具在Android14 userdebug设备无法正常使用
最进刚开始一个Android 14的项目,刷userdebug版本后,发现“Layout Inspector”和“Attach Debugger to Android Process”都无法正常使用,它像user版本一样看不到系统的进程。验证之后是有效的,Android 14 userdebug版本的设备可以使用“Layout Inspector”和“Attach Debugger to Android Process”工具了,又可以快乐的调试系统进程了。在之前Android 13的项目里没有这段逻辑。原创 2023-09-28 10:51:35 · 4711 阅读 · 4 评论 -
android windows管理(一)
1、Android手机开机后,显示壁纸、桌面、状态栏是什么决定了它们的显示顺序和层级。壁纸在最下面,桌面和其它应用在中间、状态栏导航栏在最上面。原创 2023-09-20 20:35:47 · 429 阅读 · 0 评论 -
monkey测试关机/重启问题分析(三)
触发流程可能不同,比如长按关机、点击dialog关机按钮关机等等。monkey测试关机/重启问题分析(三)关机流程可以参考以下其它人的文章。上层关机流程,最终回走到。原创 2023-06-13 20:42:56 · 959 阅读 · 0 评论 -
anr log打印流程---Java层
本问介绍一下anr之后,系统打印log的流程。加深对anr问题的理解。anr触发原理分析可以看看这个文章cpp代码比较多,我选择放弃了。从java层log往后看吧。。。原创 2023-05-26 15:45:05 · 1027 阅读 · 0 评论 -
Android权限描述
某些应用会自定义权限,定义权限时可以添加说明。比如launcher中自定义的权限。如果权限没有description也没有注释,那就比较坑了。只能祈祷权限名字可以看出来大概是什么东西。所幸,源码中权限的声明、注释还是比较全的。源码中的权限声明在这里/frameworks/base/core/res/AndroidManifest.xml使用在所有源码应用中。有一套完整的权限检测。apk也可以自己声明权限,对访问自己的外部请求做一些限制。原创 2023-04-20 17:25:17 · 612 阅读 · 0 评论 -
Android 默认设置
出现该现象的原因为Google设计snapshot进行了压缩,snapshot的尺寸比应用分辨率低,导致从snapshot到应用真正的界面时出现清晰度的变化,Google解决热启动应用时,为了用户体验,先加载snapshot(一张图片,内容和退出应用时的内容相同)遮盖应用的启动流程,保证应用加载的流程性。应用热启动时,go版本应用界面模糊再变清晰(比较明显)原创 2023-03-28 17:52:44 · 464 阅读 · 0 评论 -
系统图标形状设置和初始化
发现framework设置图标形状未生效时, 全局搜一下当前图标形状的包名 或者。原创 2023-03-28 17:33:44 · 912 阅读 · 3 评论 -
系统图标形状overlayapk
时间:2020/10/10之前公司不允许csdn,笔记写在其它地方。最近整理过来。原创 2023-03-28 17:26:14 · 437 阅读 · 0 评论 -
systemServer启动AppWidgetService
时间:2020/09/25之前公司不允许csdn,笔记写在其它地方。最近整理过来。原创 2023-03-28 17:00:05 · 471 阅读 · 0 评论 -
framework配置
RecentsActivity具体实现。长按非常长事件power键。zoomed壁纸缩放配置。连按三次power键。recent功能配置。原创 2023-03-09 16:07:25 · 129 阅读 · 0 评论 -
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 · 1360 阅读 · 0 评论 -
launcher homeSettings notificationDots
在framework中搜索enabled_notification_listeners,发现直接调用enabled_notification_listeners的地方,没有调用Settings.Secure.putStringForUser()方法。因为界面在launcher中,现在launcher中找到菜单的显示逻辑,看看是根据什么判断的状态。在修改包名之后变成三角形,没有默认open的问题。由此可见,系统启动流程中启动了service,service的init调用了加载默认配置。原创 2022-11-24 20:36:21 · 813 阅读 · 0 评论 -
系统应用修改包名,导致OTA升级后用户数据丢失
Android大版本升级,有一个系统应用因为需求修改包名变了,R升S之后,R上的用户操作数据和缓存数据丢失。不用考虑新apk加载data/data/旧包名 路径的数据的问题,可以让新的apk share数据出来。修改包名涉及到修改比较多,整个apk内部包名引用都得用显示,xml不能省略包名使用.Activity。因为包名改变,导致升级之后系统检测原包名不存在,删除了data/data/包名数据。需要修改新apk加载逻辑,加载 data/data/旧包名 路径的数据。不用修改包名,涉及修改比较少。原创 2022-11-17 17:37:25 · 1264 阅读 · 0 评论 -
Activity转场动画
小记:需求说要改改Launcher启动Activity时,Launcher和Activity跳转的动画,让跳转更自然。。。。哔哩哔哩哔哩。。。经过小编一番百度之后发现,发现几种方式1、ActivityOptions2、overridePendingTransition(int enterAnim, intexitAnim)Launcher启动Activity时,新activit...原创 2017-05-11 11:21:23 · 952 阅读 · 1 评论 -
GooglePhoto设置壁纸----壁纸裁剪界面配置
背景描述Googlephoto打开一张图片,点击设为、弹出提示框里选择photo,提示“发生错误,无法加载媒体”。photo---Use as---complete action using---photo wallpaper原创 2022-02-16 20:19:30 · 1197 阅读 · 4 评论 -
切换国家码显示隐藏apk配置
frameworks/base/core/res/res/xml/countryapk.xmlhttps://blog.csdn.net/u010586698/article/details/59086053有稍微完整一点的介绍原创 2021-11-29 17:29:45 · 207 阅读 · 0 评论 -
Android 锁屏时间
在调试锁屏壁纸的时候,常常因为自动熄屏导致断电停止修改锁屏状态下,自动灭屏时间。frameworks/base/services/core/java/com/android/server/power/PowerManagerService.java//这几个获取时间的方法全部*1000,没太看逻辑 private long getAttentiveTimeoutLocked() { long timeout = mAttentiveTimeoutSetting;原创 2021-10-26 19:17:03 · 704 阅读 · 0 评论 -
packages.xml数据来源分析(二)
零零散散的一些记录点,没有完全贯穿起来,正向逆向推理得出的一些整理思路,仅供参考。** 权限读取路径1**systemServer.startBootstrapServices-->SystemServerInitThreadPool.get().submit(SystemConfig::getInstance, TAG_SYSTEM_CONFIG);-->SystemCo...原创 2020-04-26 14:56:35 · 1207 阅读 · 1 评论 -
packages.xml数据来源分析
#关于package.xml的读写都在setting.Java中frameworks/base/services/core/java/com/android/server/pm/Settings.javareadLPw和writeLPrpackages.xml 写数据 相关类 permissions mPermissions.writePermissions(seria...原创 2020-04-26 14:54:44 · 261 阅读 · 0 评论 -
packages.xml分析
/data/system/packages1、/data/system/packages.list:记录安装app的信息com.android.cts.priv.ctsshim 10028 0 /data/user/0/com.android.cts.priv.ctsshim default:privapp:targetSdkVersion=24 nonecom.qualc...原创 2020-04-26 14:51:34 · 2961 阅读 · 3 评论