- 博客(125)
- 资源 (1)
- 收藏
- 关注
原创 写作路上的迷茫与突破
本文讲述了作者从写作焦虑到重获信心的心路历程。起初,作者因自我怀疑而不敢动笔,羡慕他人的写作才华却止步不前。通过阅读《人生护城河》等书籍和参加写作训练,作者领悟到分享的重要性。当鼓起勇气在会员群分享自己的写作心得后,意外获得许多正面反馈,这使作者意识到:写作路上的每一步探索都具有独特价值,打破了对"班门弄斧"的恐惧,重拾写作信心。
2026-06-10 09:46:07
311
原创 推理还原的干货
其实看似一个很简单的推理还原,其实需要创作者很完整的一个推理逻辑链。每一行每一业,只要认真,都是可以做出一点成绩和成就感的事。隐藏信息拼凑、因果导致果推因、规则还原现象。背后还是需要精心打磨才能行的。给出识别变形信息的方法或线索。如何把关键信息变成伪解答。从下层故事到上层故事。
2026-06-10 09:45:57
1539
原创 人,有了物质才能生存;人,有了理想才谈得上生活
人,有了理想才谈得上生活。我们常常把“生存”的战场,生活让你知道“为何吃饭”。只是在重复“生存”的动作,却从未体验“生活”的滋味。是物质不匮乏,灵魂不干涸。不至于彻底沉没的那根芦苇。“人,有了物质才能生存;我们起早贪黑,精打细算。房贷、车贷、孩子的学费,哪一样不是沉甸甸的现实?在温饱线上还谈理想的人。只有物质、内心荒芜的人。“人活一世,草活一秋。当成了“生活”的全部。那束让你愿意早起的光。它是让你在生存泥潭里,生存,是看见脚下的路;
2026-06-09 09:51:39
192
原创 变得生疏起来能有多快
电脑生的像不是我的了,卡的不得了,不知道是因为放在那里没有用的原因,还是电脑真的老了的原因。我已经好长时间没有打开我的电脑了,今天打开电脑,啥啥啥都找不到,甚至连在那里连网都找不到。本来下面是有一行菜单栏的,里面可以直接点击网络链接。古人言,三天不练手生,三天不看眼生。整半天了,还在页面卡着呢!三五个月没有用电脑了吧?
2026-06-09 09:51:13
549
原创 文字的力量
今天看到这样一段话说越是气场平和、心性温柔的人会怎样怎样,后面的我没再去看,只是凝视着前面这八个字的形容词,以前我也可以说自己是气场平和、心性温柔,但经过前两天之后,我发现如果别人触碰到我的逆鳞我马上会变得暴躁如雷,声势吓人,对方愣了几下没想到我突然变成这样,输出的都是一些拉低他自己身份的不过脑子的话,我自然不会去理他,免得我也变成像他那样的人。但转念一想,这也是我思考过的,基于提出来的观点得到自己的想法也会在潜移默化中化为自己的,说不定哪次写点什么东西就用上了呢。我就想文字的力量是多么的强大。
2026-06-08 09:54:18
2059
原创 关闭WPS自动弹出登录窗
本文介绍如何通过修改注册表关闭WPS自动弹出登录窗口的功能。操作步骤包括:打开注册表编辑器,定位到HKEY_CURRENT_USER\Software\Kingsoft\Office\6.0\plugins\officespace\flogin路径,将enableForceLoginForHasInstallDevice值改为false。修改后需重启WPS验证效果,并建议操作前备份注册表以防意外。该方法适用于WPS 12.1版本,其他版本可能需要调整路径。
2026-06-08 09:53:39
4634
原创 Android 12:在 ActivityStarter 层拦截分享、搜索与 HTTP 外链
摘要:本文介绍在Android 12系统上通过修改ActivityStarter.java实现拦截第三方应用跳转的方法。关键点包括:1)在ActivityStarter中拦截ACTION_SEND/VIEW等特定Intent;2)通过置空rInfo阻止启动;3)利用mUiContext显示Toast提示;4)注意处理http/https等scheme的精细化控制。实施时需注意版本兼容性、日志记录和白名单管理,建议进行完整编译和CTS验证确保功能稳定性。该方法适用于需要限制应用跳转的自研Launcher场景。
2026-06-01 09:58:02
6255
原创 Android 12:从 Editor 到 FloatingToolbar 全局收敛长按菜单
本文介绍了在Android Framework层屏蔽文本选择菜单中「分享」「打开」「网页搜索」等选项的两种方案:一是修改Editor.java以移除TextView/EditText的分享菜单项;二是通过FloatingToolbar.java过滤WebView的浮动工具栏菜单项。两种方法需配合使用才能覆盖所有场景,包括系统应用和第三方应用。实施时需注意不同ROM的兼容性问题,并建议与ActivityStarter拦截方案配合使用,确保即使菜单项漏出也能阻止最终跳转。方案涉及修改系统底层代码,需充分测试不同
2026-05-18 09:38:31
4672
原创 Android ADB Shell 常用命令
本文总结了Android设备在Linux系统下的连接排错方法和常用ADB命令指南。主要内容包括:1) 解决Linux无法识别Android设备的udev规则配置方法;2) 应用包管理命令(pm)的使用技巧,包括查看、清除应用数据等;3) Activity管理(am)命令详解,涵盖启动组件、发送广播等操作;4) 文件系统操作与搜索命令;5) 日志记录与调试技巧;6) 屏幕截图和录制方法;7) 高级系统操作如解锁Bootloader等。这些命令涵盖了Android开发调试中的常见需求,从基础连接到高级系统操作,
2026-05-11 09:46:35
13356
原创 Android 11 Framework 优化:屏蔽“系统启动中”提示,直达 Launcher
本文介绍了在Android 11平台上优化开机体验的实现方案。通过在Framework层修改代码,主要实现了三个关键优化:1)延迟退出开机动画直到真正的Launcher绘制完成;2)移除原有的开机动画退出逻辑;3)屏蔽默认的"系统启动中"过渡界面(FallbackHome)。这些修改使得开机动画能够持续显示,直到桌面完全加载完成,实现了从开机到桌面的无缝视觉过渡。具体修改涉及ActivityRecord.java、WindowManagerService.java和FallbackHom
2026-03-23 09:51:40
1851
2
原创 Android 7 一键清理近期任务并保留白名单实现记录
本文介绍了一种实现一键结束所有应用并排除白名单功能的方法。通过分析Android SystemUI源码,发现系统提供了清理近期任务的接口。实现方案包括:获取近期任务列表、根据白名单过滤、逐个清理剩余任务。新增了KillProcessesReceiver广播接收器,并在SystemUI中注册,同时将广播声明为受保护广播。上层应用可通过发送携带白名单的Intent触发清理功能,只有系统权限组件才能调用。该方法复用系统接口,实现了类似SystemUI清理任务的功能。
2026-03-09 10:19:25
2029
原创 Android 7 静默安装/卸载实现与 Framework 修改记录
本文针对Android 7系统实现APK静默安装/卸载方案。通过分析Framework层源码发现,pm install命令可直接使用,但pm uninstall在应用内调用会因权限校验失败而抛出异常。解决方案是在PackageInstallerService中为系统应用添加SYSTEM_UID白名单,或选择性移除调用方校验(仅限调试环境)。文章提供了封装工具类,包含安装/卸载回调接口和基于pm install的静默安装实现,通过ProcessBuilder执行系统命令并处理返回结果。该方案需权衡系统安全性与
2026-03-02 14:56:43
2063
原创 Android 13 定制开发:实现 Power 键仅关闭背光且支持触摸唤醒
本文介绍了在Android 13定制开发中实现特殊电源管理需求的解决方案。通过修改系统配置参数config_shortPressOnPowerBehavior为0,禁用默认电源键关屏行为。在PhoneWindowManager.java中新增switchBacklight()和brightScreen()方法,实现对屏幕背光和MIPI信号的控制。同时注册全局触摸事件监听器,在检测到触摸动作时唤醒屏幕。该方案满足了硬件层面仅关闭背光而不断开MIPI信号的特殊需求,并保留了触摸唤醒功能。
2026-02-23 12:29:10
2470
原创 Android系统设置实时监测中变量值的变化
本文介绍了Android系统中实时监测系统设置变量值变化的方法。首先阐述了通过Settings Provider机制查询系统配置信息的途径,包括URI查询接口和默认值定义文件位置(defaults.xml)。接着详细说明了布尔型、字符串和整型系统设置的属性及其默认值,并重点演示了如何通过ContentObserver实现配置变更监听,以飞行模式为例展示了监听器注册和回调处理的具体实现。最后提出了精准监听、异步处理、权限控制和兼容性处理等最佳实践建议。这套机制为开发者提供了有效的系统状态监控能力,有助于优化系
2026-02-09 10:55:09
2266
原创 【Android Monkey源码解析五】- 异常处理
本文解析了Android Monkey测试工具中异常捕获后的处理机制。通过分析runMonkeyCycles方法源码,展示了Monkey在执行随机事件循环时对各类异常的处理流程。关键点包括:1) 通过事件计数器和循环计数器控制测试执行;2) 支持多种异常报告类型,如ANR轨迹、内存信息dump等;3) 提供原生崩溃检测机制;4) 支持周期性输出测试进度信息。代码中还实现了异常捕获后的终止条件判断和错误报告生成功能,确保测试过程中能够及时处理系统崩溃等异常情况。
2026-01-26 09:47:42
2026
原创 【Android Monkey源码解析四】- 异常捕获/页面控制
本文分析了Android Monkey源码中ActivityController的实现机制。该控制器通过继承IActivityController.Stub,实现了对系统操作的监控,主要功能包括:1)页面控制(activityStarting),在Monkey测试时判断是否允许进入目标应用;2)应用崩溃监控(appCrashed);3)应用/系统无响应处理(appNotResponding)。其中activityStarting方法通过检查目标包名、特殊标志位和启动器主页面三种情况来决定是否允许Activi
2026-01-19 08:08:19
2257
原创 【Android Monkey源码解析三】- 运行解析
本文解析了Android Monkey测试工具的核心运行逻辑。主要内容包括:1)初始化阶段自动设置默认category和随机种子;2)根据参数配置不同的事件源模式(脚本模式、网络模式或默认随机模式);3)系统接口和应用的获取验证;4)事件因子设置和初始随机Activity生成;5)最终执行Monkey事件循环并处理异常情况。文章详细剖析了Monkey工具从参数解析到事件执行的全流程实现机制,重点分析了不同运行模式下的代码分支处理逻辑。
2026-01-12 09:55:46
2218
原创 【Android Monkey源码解析二】- 参数解析
本文分析了Android Monkey工具的源码执行流程,重点解析了Monkey类的main入口函数和run方法。main函数主要完成进程命名、参数打印和执行结果返回;run方法则负责参数解析、事件因子设置和包名验证等核心功能。文章详细介绍了processOptions方法如何通过循环处理命令行参数,包括设置随机种子、目标包名、事件比例等关键配置,并展示了参数验证和异常处理机制。通过源码分析,揭示了Monkey测试工具从启动到参数处理的完整执行逻辑,为二次开发和异常诊断提供了技术参考。
2026-01-05 05:35:07
2341
原创 【Android Monkey源码解析一】-系统执行
本文主要分析了Android Monkey测试工具的启动过程。基于Android 12源码,介绍了Monkey可执行文件位于/system/bin/monkey,其本质是一个bash脚本,主要功能包括:设置系统路径、配置CLASSPATH环境变量、处理信号、打印命令行参数,最终通过app_process执行monkey.jar中的Monkey类。文章还展示了实际运行示例,并指出后续将重点解析monkey.jar的核心代码逻辑。
2025-12-29 10:12:49
2497
原创 Android如何通过adb命令push文件后在媒体库中显示
本文探讨了不同Android版本下实现文件推送后自动刷新媒体库的方法。在Android 11以下版本中,可通过android.intent.action.MEDIA_SCANNER_SCAN_FILE广播触发媒体扫描;而在Android 11及以上版本中,该广播被废弃,需采用自定义广播接收器或直接操作MediaStore。文章详细介绍了自定义广播接收器的实现方案,包括递归扫描目录文件、使用MediaScannerConnection扫描文件等关键步骤,并提供了注册和使用方法。这种方案能有效解决高版本Andr
2025-12-22 15:49:29
2435
原创 Android 16 编译错误:`<uses-library>` 标签不匹配问题解析与解决方案
Android 16编译时出现<uses-library>标签不匹配错误,主要是由于APK清单文件声明的依赖库在编译环境中缺失或版本不符。提供两种解决方案:1)临时方案是修改设备配置文件,添加PRODUCT_BROKEN_VERIFY_USES_LIBRARIES := true强制忽略检测,但存在安全隐患;2)推荐方案是在APK编译脚本(Android.bp或Android.mk)中通过设置enforce_uses_libs: false或LOCAL_ENFORCE_USES_LIBRARIE
2025-12-15 09:19:55
2412
原创 Windows 11 管理员权限问题全解析与解决方案
本文详细解析了Windows 11管理员权限不足问题的常见表现,包括系统目录写入受限、功能访问受限和UAC弹窗干扰。重点介绍了通过修改注册表项(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System下的EnableLUA值)来禁用UAC的解决方案,并配有详细操作图示。同时强调禁用UAC会降低系统安全性,建议完成操作后及时恢复设置,并提醒用户修改前备份注册表。文章为管理员用户提供了安全有效的权限问题解决方法。
2025-12-08 09:45:27
3567
原创 MT8766平台Android 12系统ESIM功能实现指南
本文介绍了基于MT8766平台实现eSIM功能的开发流程。通过遵循谷歌LPA标准,集成了LPA服务APK,并配置了必要的权限和Overlay App。关键步骤包括:启用euicc feature、内置LPA服务、关闭权限校验、实现广播接收器及配置SIM卡槽映射。针对MTK平台出现的eSIM启用问题,通过修改系统设置代码强制启用按钮状态,并修正APN配置解决无法上网问题。该方案为eSIM功能在非原生支持平台上的实现提供了可行路径,解决了供应商切换和平台适配等技术难点。
2025-12-01 11:17:18
7905
1
原创 Android 12 主屏幕默认应用设置缺失:问题溯源与修复指南
摘要:Android 12系统中部分用户和开发者发现默认主屏幕设置选项缺失,导致无法修改启动器。经分析,问题根源在于PermissionController模块未被正确覆盖及代码逻辑缺陷,其中DefaultAppListChildFragment.java文件对主屏幕角色进行了不当过滤。提出两种修复方案:确保PermissionController模块正确覆盖(方案一)或修改代码逻辑移除特殊处理(方案二)。建议系统维护者优先采用方案一以保持系统稳定性,开发者可考虑方案二进行针对性修复。通过实施相应方案可恢复
2025-11-24 09:28:44
5325
原创 Android 15.0 系统定制:第三方浏览器设置为默认浏览器的实现指南
本文介绍了在Android 15.0系统中将第三方浏览器设为默认浏览器的方法。主要通过分析Settings应用的源码实现,重点讲解了RoleManager机制和关键代码文件。内容包括:1)准备工作如系统版本和开发环境要求;2)核心代码文件ManageRoleHolderStateLiveData.java和PhoneWindowManager.java的分析;3)详细展示了如何使用setRoleHolderAsUser()方法切换默认浏览器;4)列举了系统默认应用对应的Role列表。该方法适用于系统定制化开
2025-10-27 11:45:22
2676
原创 Android 15.0 系统下第三方输入法设置为默认输入法的实现指南
本文介绍了在Android 15.0系统中将第三方输入法设置为默认输入法的方法。主要通过修改DatabaseHelper.java和defaults.xml两个核心文件,将目标输入法的唯一ID配置到系统属性Settings.Secure.ENABLED_INPUT_METHODS中。具体步骤包括:1)在DatabaseHelper.java的loadSystemSettings方法中添加输入法ID;2)在defaults.xml中定义目标输入法ID字符串资源。文章还提供了常见输入法ID示例,并强调了输入法I
2025-10-20 10:14:37
2875
原创 Android 15.0 ROM定制:无源码App图标替换指南
摘要 在Android 15.0 ROM定制中,需通过修改PMS(PackageManagerService)实现无源码应用的Launcher图标替换。核心类PackageParser.java负责解析APK资源,关键方法包括parsePackage()、parseMonolithicPackage()和parseBaseApk()。最终在parseBaseApplication()中通过判断包名(如com.sprd.sprdnote)动态替换ApplicationInfo的iconRes属性,从而完成图标
2025-10-13 09:38:19
2449
原创 Android系统模块编译调试与Ninja使用指南
本文介绍了Android系统开发中模块编译调试的常用方法。针对不同模块类型(如Framework、SystemUI、Settings等)提供了具体的编译命令和产物路径,并详细说明了如何将编译结果推送到设备进行调试。文章还对比了传统make编译与ninja编译的差异,指出ninja可以跳过分析阶段直接编译,显著提高调试效率。同时提供了ninja工具的获取、配置和使用方法,包括常见问题的解决方案。最后总结了编译调试的注意事项,如检查文件更新时间、备份原始文件等实用建议。
2025-10-06 07:57:52
13271
原创 Git Commit 生成与合入 Patch 指南
本文介绍了生成和合入Patch文件的两种方法。使用diff命令可以对比两个目录生成补丁,需确保路径深度一致,常用参数包括-Naur。Git项目可通过format-patch生成特定commit的补丁文件。合入时使用patch -p1命令,支持撤销(-RE参数)。这两种方法适用于代码审查和合并场景,操作时需注意路径层级和参数设置。
2025-09-11 15:38:57
5153
转载 Android 15 的GRF平台开发说明
Android GRF(谷歌需求冻结)是Google与SoC厂商的合作机制,允许在Android14开发板上适配后续4个系统版本(15-17)。通过冻结底层vendor组件,开发者只需适配上层框架和应用,显著提升系统升级效率。实现时需分别编译GRF SDK(Android14)和认证SDK(Android15)并进行固件合并,支持使用管理工具简化流程。该方案尤其适合硬件改动小的设备,如RK3588等平台可直接沿用Android14基础支持后续版本。编译后通过合并vendor(基础功能)和frameworks
2025-08-18 09:27:00
665
原创 展锐平台(Android15)WLAN热点名称修改不生效问题分析
摘要: 在展锐Android V项目中修改Wi-Fi热点名称时,发现GMS集成后直接修改framework层代码失效。这是由于Android S及以上版本将Wi-Fi模块Mainline化,本地修改会被预置模块覆盖。本文分析三种解决方案:1)使用展锐平台的Overlay机制修改配置(推荐);2)运行时动态设置热点名;3)关闭Mainline模块(仅限非GMS版本)。对于GMS设备,建议组合方案1和2,既保证合规性又支持自定义。方案3因影响GMS认证,仅作最后手段。文末附Android 15上的具体配置示例。
2025-08-11 16:15:48
5027
原创 写作两年,我变的更加坦然
后来的事,我文章中提到了很多,因为在公司看到很多人,明明不喜欢现在的工作,却硬撑着去做,整日除了抱怨还是抱怨。而公司,也只是把员工当成了一颗螺丝钉而已,你好用的时候,多用你,不好用了,直接换掉就是了。我没有去考虑定位什么的,更没考虑运营,再说也不会。只不过我始终坚信一个逻辑:只要每天坚持读书和写作,不断完成输入和输出的闭环,那我整个人是在不断进步的,只要你是在不断完善自己,总会有适合你的机会。从最近半年AI的使用和我读的一些书上,都验证了我的设想,使用AI的时候,需要你有清晰的表达,才能得到想要的结果。
2025-07-13 06:53:21
837
原创 Android源码编译命令详解
知其然还需知其所以然,这样能更深层次的理解并记忆,才能与自身的知识体系建立强连接,或许还有意外收获,果然如此,接下来跟大家分享一下在研究上述几条指令含义的过程中,深入了解到的Android Build(编译)系统。编译系统正是以模块为单位进行编译,每个模块都有唯一的模块名,一个模块可以有依赖多个其他模块,模块间的依赖关系就是通过模块名来引用的。上述只是列举比较常用的指令,还有其他指令,而且不同的build编译系统,支持的指令可能会存在一些差异,当忘记这些编译指令,可以通过执行。
2025-06-30 09:38:54
9527
原创 Ubuntu修改Swap交换空间大小
安装Ubuntu系统时,选择了默认空间分配方案,Swap空间仅1G,而实际的物理内存有32G,分给Swap空间至少为内存的1倍,最好是内存值的2倍,系统相当卡顿,重做系统后,费力部署的环境怎么又需要重新部署,头痛!
2025-06-23 09:46:08
21973
3
原创 使用NMEA Tools生成GPS轨迹图
在现代科技快速发展的时代,GPS定位技术已经广泛应用于各种领域,如导航、物流、运动追踪等。为了获取和分析GPS数据,我们常常需要使用一些专业的工具。本文将详细介绍如何使用一款名为“NMEA Tools”的APK应用,结合GPSVisualizer网站,来生成GPS轨迹图。无论你是科研人员、户外运动爱好者,还是需要对GPS数据进行处理的专业人士,本文都将为你提供一份详尽的操作指南1 下载APK: 首先,你需要找到并下载“NMEA Tools”这款应用的APK文件。你可以在各大APK下载网站搜索到它,或者直接到
2025-06-16 09:54:51
6903
原创 MarkDown 输出表格的方法
默认对其在网页部分被粘贴到Word里后显示为:表格标题居中对齐,表格正文左对齐。MarkDown用来输出表格很简单,比Word手搓表格简单多了,而且方便修改。A列强制左对齐,B列强制右对齐,C列强制居中对齐,D列默认对齐。默认对齐在PC端网页显示为表格标题和内容都居左对齐。
2025-04-14 10:26:11
5558
原创 Android PMS缓存刷新机制优化:实现OTA升级后应用缓存更新
在Android设备的OTA(Over-The-Air)升级过程中,有时会遇到应用未能及时更新的问题。具体表现为,升级后新内置应用不出现,或者应用版本未发生变化,需要用户恢复出厂设置才能正常显示新版本。这种情况往往是由于系统缓存未得到正确刷新导致的。为了解决这个问题,本文提供了一种通过修改系统源代码来强制刷新缓存的方法。
2025-02-24 10:07:39
2536
原创 Android mk文件中‘TARGET_OUT‘的路径分析
TARGET_OUT:指向产品输出的根目录。:表示系统目录的名称,通常为system。因此,TARGET_OUT的最终路径是。这里,:指向产品输出的根目录。:表示当前编译的目标设备的名称。因此,的路径是TARGETPRODUCTOUTROOTTARGETPRODUCTOUTROOT。这里,指向了,即目标输出的根目录下的product目录。:指向目标输出的根目录。因此,的路径是。这里,的值取决于当前的构建类型。
2025-02-17 09:42:31
3120
原创 Android系统SELinux详解
SELinux是一种加强文件安全的一种策略,可以更好地保护我们的Android系统, 比如限制系统服务的访问权限、控制应用对数据和系统日志的访问等措施,这样就降低了恶意软件的影响,并且可以防止因代码存在的缺陷而产生的对系统安全的影响。从系统安全方面考虑,SELinux是保护神,但是从软件开发方面,SELinux就是一道牵绊,这是一把双刃剑。SELinux默认开启,即使获得了该系统的root权限,也只能向相关策略中指定的设备写入数据,从而更好地保护和限制系统服务,保障系统和数据的安全。......
2025-02-10 09:50:42
4625
原创 Android 13 取色引擎详解
例如:PixelLauncher的插件实现颜色动态变化,除了从Wallpaper中拿到颜色,还进行了二次加工,使其更符合Material Desgin的风格,这也是符合“Monet”主题系统 中的一部分,目前是没有开源的。所以在Android 13之前,无论是静态壁纸或是动态 壁纸,若想要其他模块能获取到壁纸颜色的话,需要壁纸提供方,在实现WallpaperService的Engine时,也一并实现onCompleteColors方法,然后在颜色变化时调用notifyColorsChanged。
2025-02-03 11:14:55
3447
1
TranslationTools-v3.1511.01
2024-09-25
将密钥/证书导入现有Java密钥存储库的shell脚本
2023-02-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅