- 博客(119)
- 资源 (1)
- 收藏
- 关注
原创 每个人都应该去学写作
有些人说的七零八碎,可能更无助,但关注的人寥寥。在你遇到杠精的时候,你会发现人根本不在意你在说什么,只是要抬杠而已。不想活成被网络词汇和标签绑架的人,不想以后和朋友聊天或者商务场合,表达一个事情只会用网络的梗。如果你想要做一些自己的事业,想要影响一些人,想要吸引优质合作伙伴,想要路演,想要上市这是重要的能力之一。这一篇的写作原因是这些都是来自我身边的很直接的观察。孩子是自己的翻版,你在用什么词汇和表达,孩子将来就会怎么去表达。慢慢的也不老是无目的的写作了,也加入一些观点文和情感文作品。
2026-01-23 09:45:59
513
原创 用生命做事,无人能超越
我想从一个母亲的角度来讲,养育一个孩子,最重要的恐怕还是要打开他们内心的空间,有勇气去面对未知,敢于去闯荡。凡是投入生命进行创作,投入生命去做事,不计时间,不计成本,不计后果,这样出来的作品,无人能超越,甚至自己都无法超越。很多人,用这样的机会,彻底改写了自己的人生路,比如凤姐的扮演者邓婕,比如林黛玉的扮演者陈晓旭等。去看看她们进入剧组前的工作,真的是来自全国各地的,各种身份的人:有售货员,有皮鞋厂的员工,有汽修厂员工。这么重要的一个角色,执拗于一个正式的身份,最终与北京无缘,沿袭了自己原来的职业轨迹。
2026-01-23 09:45:51
577
原创 写作路上的迷茫与突破
本文讲述了作者从写作焦虑到重获信心的心路历程。起初,作者因自我怀疑而不敢动笔,羡慕他人的写作才华却止步不前。通过阅读《人生护城河》等书籍和参加写作训练,作者领悟到分享的重要性。当鼓起勇气在会员群分享自己的写作心得后,意外获得许多正面反馈,这使作者意识到:写作路上的每一步探索都具有独特价值,打破了对"班门弄斧"的恐惧,重拾写作信心。
2026-01-22 09:34:54
237
原创 写读后感的时候,可以适当地引用书中的内容吗?
引用书中的内容可以帮助读者更好地理解你所讨论的主题和人物,同时也可以展示你对原著的深入理解和阅读能力。总之,适当地引用书中的内容可以增强读后感的可信度和说服力,但需要注意引用的准确性、适度性、注明出处和合理性。写读后感时,适当地引用书中的内容是可以的,这样可以更好地支持你的观点和感受,增强文章的可信度和说服力。2.引用要适度:引用的内容应该与你的观点和感受密切相关,不要过多地引用无关的内容。4.引用要合理:引用的内容应该符合文章的逻辑和结构,不要出现突兀或不协调的情况。
2026-01-22 09:34:41
2018
1
原创 允许一切发生
允许一切发生,看起来好像一切,发生,不发生能由你控制一样,这也是心灵鸡汤的典型句式。事实上,一切,发生,不发生。每个人都无法参与她的性质和发生。无奈接受,被动接受,然后抚平心灵。就这是允许一切发生的简单,直接的后续表现形式。允许一切发生,看起来就是那种心灵鸡汤爽文。阅读后起不起作用的,不是文章本身,而是读者的内心。与其说允许一切发生,不如说,过好当下的每一天,每一刻,珍惜每一天。
2026-01-21 09:56:02
567
原创 写文章,得有点儿原则
注重提升写作技巧和发展个人风格。这包括学习如何更有效地使用语言,例如选择合适的词汇、构建流畅的句子结构和创建引人入胜的开头。同时,我也在努力找到自己的声音,这意味着探索不同的叙述技巧、调整语调以适应不同的受众,以及尝试不同的写作格式和体裁。这个过程帮助我不仅在技术上提升了写作水平,还让我能够以更真实和个性化的方式表达自己的思想和感受。通过不断的实践、评估和调整,我在保持技术精准的同时,也渐渐塑造出独特的个人写作风格。
2026-01-21 09:55:54
637
原创 推理还原的干货
其实看似一个很简单的推理还原,其实需要创作者很完整的一个推理逻辑链。每一行每一业,只要认真,都是可以做出一点成绩和成就感的事。隐藏信息拼凑、因果导致果推因、规则还原现象。背后还是需要精心打磨才能行的。给出识别变形信息的方法或线索。如何把关键信息变成伪解答。从下层故事到上层故事。
2026-01-20 09:23:31
1372
原创 为什么写作
只有大量的阅读,不断的思考,不断的观察生活中的细节,在细节中寻找答案。写作是输出的过程,所以要先大量输入!3想突破自己看看自己能写到什么程度。锻炼自己更好组织思路,提高逻辑思维能力。最后,我知道写作没有捷径,如果不阅读、不输出、不思考,那是写不出来的。4给自己的生活增添一些爱好,更好地理解和掌握语言,提高语言表达能力。6可以培养创造力和想象力,能够更加灵活的思考问题。1记录生活,表达自己的想法和情感,提高沟通能力。5如果生活有状态,我想应该是在写作和思考的状态。2年轻的时候就有写作的意愿,一直未动笔。
2026-01-20 09:23:21
600
原创 年轻人一定要去大城市才有好发展吗?
举个例子,小明是一个喜欢安逸的年轻人,他毕业后选择回到家乡的小镇工作。在那里,他创办了一个小小的图书馆,为孩子们提供阅读的乐趣。结果,小镇的孩子们都非常喜欢他,他的图书馆越办越红火。有一天,他遇到了一个投资人,对方看中了他的项目,最后他把图书馆开到了大城市。当然,大城市就像是一个巨大的海鲜市场,让你眼花缭乱,应接不暇。所以,并不是一定要去大城市才有好的发展,关键是要找到适合自己的路。大城市有它的优点,比如机会多、文化丰富等等,但是小城市也有它的优点,比如生活节奏慢、人情味浓等等。
2026-01-19 08:09:03
516
原创 【Android Monkey源码解析四】- 异常捕获/页面控制
本文分析了Android Monkey源码中ActivityController的实现机制。该控制器通过继承IActivityController.Stub,实现了对系统操作的监控,主要功能包括:1)页面控制(activityStarting),在Monkey测试时判断是否允许进入目标应用;2)应用崩溃监控(appCrashed);3)应用/系统无响应处理(appNotResponding)。其中activityStarting方法通过检查目标包名、特殊标志位和启动器主页面三种情况来决定是否允许Activi
2026-01-19 08:08:19
1727
原创 【Android Monkey源码解析三】- 运行解析
本文解析了Android Monkey测试工具的核心运行逻辑。主要内容包括:1)初始化阶段自动设置默认category和随机种子;2)根据参数配置不同的事件源模式(脚本模式、网络模式或默认随机模式);3)系统接口和应用的获取验证;4)事件因子设置和初始随机Activity生成;5)最终执行Monkey事件循环并处理异常情况。文章详细剖析了Monkey工具从参数解析到事件执行的全流程实现机制,重点分析了不同运行模式下的代码分支处理逻辑。
2026-01-12 09:55:46
2117
原创 【Android Monkey源码解析二】- 参数解析
本文分析了Android Monkey工具的源码执行流程,重点解析了Monkey类的main入口函数和run方法。main函数主要完成进程命名、参数打印和执行结果返回;run方法则负责参数解析、事件因子设置和包名验证等核心功能。文章详细介绍了processOptions方法如何通过循环处理命令行参数,包括设置随机种子、目标包名、事件比例等关键配置,并展示了参数验证和异常处理机制。通过源码分析,揭示了Monkey测试工具从启动到参数处理的完整执行逻辑,为二次开发和异常诊断提供了技术参考。
2026-01-05 05:35:07
2255
原创 【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
2409
原创 Android如何通过adb命令push文件后在媒体库中显示
本文探讨了不同Android版本下实现文件推送后自动刷新媒体库的方法。在Android 11以下版本中,可通过android.intent.action.MEDIA_SCANNER_SCAN_FILE广播触发媒体扫描;而在Android 11及以上版本中,该广播被废弃,需采用自定义广播接收器或直接操作MediaStore。文章详细介绍了自定义广播接收器的实现方案,包括递归扫描目录文件、使用MediaScannerConnection扫描文件等关键步骤,并提供了注册和使用方法。这种方案能有效解决高版本Andr
2025-12-22 15:49:29
2236
原创 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
2273
原创 Windows 11 管理员权限问题全解析与解决方案
本文详细解析了Windows 11管理员权限不足问题的常见表现,包括系统目录写入受限、功能访问受限和UAC弹窗干扰。重点介绍了通过修改注册表项(HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\System下的EnableLUA值)来禁用UAC的解决方案,并配有详细操作图示。同时强调禁用UAC会降低系统安全性,建议完成操作后及时恢复设置,并提醒用户修改前备份注册表。文章为管理员用户提供了安全有效的权限问题解决方法。
2025-12-08 09:45:27
3122
原创 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
7135
1
原创 Android 12 主屏幕默认应用设置缺失:问题溯源与修复指南
摘要:Android 12系统中部分用户和开发者发现默认主屏幕设置选项缺失,导致无法修改启动器。经分析,问题根源在于PermissionController模块未被正确覆盖及代码逻辑缺陷,其中DefaultAppListChildFragment.java文件对主屏幕角色进行了不当过滤。提出两种修复方案:确保PermissionController模块正确覆盖(方案一)或修改代码逻辑移除特殊处理(方案二)。建议系统维护者优先采用方案一以保持系统稳定性,开发者可考虑方案二进行针对性修复。通过实施相应方案可恢复
2025-11-24 09:28:44
5154
原创 Android 15.0 系统定制:第三方浏览器设置为默认浏览器的实现指南
本文介绍了在Android 15.0系统中将第三方浏览器设为默认浏览器的方法。主要通过分析Settings应用的源码实现,重点讲解了RoleManager机制和关键代码文件。内容包括:1)准备工作如系统版本和开发环境要求;2)核心代码文件ManageRoleHolderStateLiveData.java和PhoneWindowManager.java的分析;3)详细展示了如何使用setRoleHolderAsUser()方法切换默认浏览器;4)列举了系统默认应用对应的Role列表。该方法适用于系统定制化开
2025-10-27 11:45:22
2508
原创 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
2619
原创 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
2350
原创 Android系统模块编译调试与Ninja使用指南
本文介绍了Android系统开发中模块编译调试的常用方法。针对不同模块类型(如Framework、SystemUI、Settings等)提供了具体的编译命令和产物路径,并详细说明了如何将编译结果推送到设备进行调试。文章还对比了传统make编译与ninja编译的差异,指出ninja可以跳过分析阶段直接编译,显著提高调试效率。同时提供了ninja工具的获取、配置和使用方法,包括常见问题的解决方案。最后总结了编译调试的注意事项,如检查文件更新时间、备份原始文件等实用建议。
2025-10-06 07:57:52
13057
原创 Git Commit 生成与合入 Patch 指南
本文介绍了生成和合入Patch文件的两种方法。使用diff命令可以对比两个目录生成补丁,需确保路径深度一致,常用参数包括-Naur。Git项目可通过format-patch生成特定commit的补丁文件。合入时使用patch -p1命令,支持撤销(-RE参数)。这两种方法适用于代码审查和合并场景,操作时需注意路径层级和参数设置。
2025-09-11 15:38:57
5004
转载 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
473
原创 展锐平台(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
4873
原创 写作两年,我变的更加坦然
后来的事,我文章中提到了很多,因为在公司看到很多人,明明不喜欢现在的工作,却硬撑着去做,整日除了抱怨还是抱怨。而公司,也只是把员工当成了一颗螺丝钉而已,你好用的时候,多用你,不好用了,直接换掉就是了。我没有去考虑定位什么的,更没考虑运营,再说也不会。只不过我始终坚信一个逻辑:只要每天坚持读书和写作,不断完成输入和输出的闭环,那我整个人是在不断进步的,只要你是在不断完善自己,总会有适合你的机会。从最近半年AI的使用和我读的一些书上,都验证了我的设想,使用AI的时候,需要你有清晰的表达,才能得到想要的结果。
2025-07-13 06:53:21
804
原创 Android源码编译命令详解
知其然还需知其所以然,这样能更深层次的理解并记忆,才能与自身的知识体系建立强连接,或许还有意外收获,果然如此,接下来跟大家分享一下在研究上述几条指令含义的过程中,深入了解到的Android Build(编译)系统。编译系统正是以模块为单位进行编译,每个模块都有唯一的模块名,一个模块可以有依赖多个其他模块,模块间的依赖关系就是通过模块名来引用的。上述只是列举比较常用的指令,还有其他指令,而且不同的build编译系统,支持的指令可能会存在一些差异,当忘记这些编译指令,可以通过执行。
2025-06-30 09:38:54
9382
原创 Ubuntu修改Swap交换空间大小
安装Ubuntu系统时,选择了默认空间分配方案,Swap空间仅1G,而实际的物理内存有32G,分给Swap空间至少为内存的1倍,最好是内存值的2倍,系统相当卡顿,重做系统后,费力部署的环境怎么又需要重新部署,头痛!
2025-06-23 09:46:08
21332
2
原创 使用NMEA Tools生成GPS轨迹图
在现代科技快速发展的时代,GPS定位技术已经广泛应用于各种领域,如导航、物流、运动追踪等。为了获取和分析GPS数据,我们常常需要使用一些专业的工具。本文将详细介绍如何使用一款名为“NMEA Tools”的APK应用,结合GPSVisualizer网站,来生成GPS轨迹图。无论你是科研人员、户外运动爱好者,还是需要对GPS数据进行处理的专业人士,本文都将为你提供一份详尽的操作指南1 下载APK: 首先,你需要找到并下载“NMEA Tools”这款应用的APK文件。你可以在各大APK下载网站搜索到它,或者直接到
2025-06-16 09:54:51
6481
原创 MarkDown 输出表格的方法
默认对其在网页部分被粘贴到Word里后显示为:表格标题居中对齐,表格正文左对齐。MarkDown用来输出表格很简单,比Word手搓表格简单多了,而且方便修改。A列强制左对齐,B列强制右对齐,C列强制居中对齐,D列默认对齐。默认对齐在PC端网页显示为表格标题和内容都居左对齐。
2025-04-14 10:26:11
5367
原创 Android PMS缓存刷新机制优化:实现OTA升级后应用缓存更新
在Android设备的OTA(Over-The-Air)升级过程中,有时会遇到应用未能及时更新的问题。具体表现为,升级后新内置应用不出现,或者应用版本未发生变化,需要用户恢复出厂设置才能正常显示新版本。这种情况往往是由于系统缓存未得到正确刷新导致的。为了解决这个问题,本文提供了一种通过修改系统源代码来强制刷新缓存的方法。
2025-02-24 10:07:39
2447
原创 Android mk文件中‘TARGET_OUT‘的路径分析
TARGET_OUT:指向产品输出的根目录。:表示系统目录的名称,通常为system。因此,TARGET_OUT的最终路径是。这里,:指向产品输出的根目录。:表示当前编译的目标设备的名称。因此,的路径是TARGETPRODUCTOUTROOTTARGETPRODUCTOUTROOT。这里,指向了,即目标输出的根目录下的product目录。:指向目标输出的根目录。因此,的路径是。这里,的值取决于当前的构建类型。
2025-02-17 09:42:31
3026
原创 Android系统SELinux详解
SELinux是一种加强文件安全的一种策略,可以更好地保护我们的Android系统, 比如限制系统服务的访问权限、控制应用对数据和系统日志的访问等措施,这样就降低了恶意软件的影响,并且可以防止因代码存在的缺陷而产生的对系统安全的影响。从系统安全方面考虑,SELinux是保护神,但是从软件开发方面,SELinux就是一道牵绊,这是一把双刃剑。SELinux默认开启,即使获得了该系统的root权限,也只能向相关策略中指定的设备写入数据,从而更好地保护和限制系统服务,保障系统和数据的安全。......
2025-02-10 09:50:42
4361
原创 Android 13 取色引擎详解
例如:PixelLauncher的插件实现颜色动态变化,除了从Wallpaper中拿到颜色,还进行了二次加工,使其更符合Material Desgin的风格,这也是符合“Monet”主题系统 中的一部分,目前是没有开源的。所以在Android 13之前,无论是静态壁纸或是动态 壁纸,若想要其他模块能获取到壁纸颜色的话,需要壁纸提供方,在实现WallpaperService的Engine时,也一并实现onCompleteColors方法,然后在颜色变化时调用notifyColorsChanged。
2025-02-03 11:14:55
3374
1
原创 Android13源码下载和编译过程详解
作为Android开发者人人都应该有一份自己Android源码,这样我们就可以随时对自己有疑惑的地方通过亲手调试来加强理解。
2025-01-27 13:33:12
7918
1
原创 企业微信登录Foxmail邮箱详细指南
在日常工作中,许多企业选择使用企业微信作为主要的沟通工具,而企业微信邮箱则是其集成的邮件服务。然而,随着邮件数量的不断增加,你可能会遇到邮箱容量不足的问题,系统可能会提示“邮箱容量不足20%”,这时,将企业微信邮箱与Foxmail等第三方邮件客户端结合使用,可以大大提升邮件管理的便捷性和效率。
2025-01-20 09:40:58
14881
1
原创 Android系统定制APP开发_如何对应用进行系统签名
当项目开发需要使用系统级别权限或frame层某些api时,普通应用是无法使用的,需要在AndroidManifest中配置sharedUserId:AndroidManifest.xml中的android:sharedUserId=“android.uid.system”,代表的意思是和系统相同的uid,可以拥有修改系统时间,文件操作等权限。
2025-01-13 10:13:46
5123
原创 Android13实时刷新频率的实现代码
RefreshRateOverlay实际Layer显示刷新频率。初始化RefreshRateOverlay。设置->开发者选项->显示刷新频率。
2025-01-06 11:41:45
3482
3
原创 Android 13 深色主题切换流程解析
这里注意:在 ActivityThread.java 中有 performActivityConfigurationChanged() 和 performLaunchActivity() 两个方法,都可以更新资源主题,我个人认为一个是配置单独某个应用的,一个是配置全局的。persistNightMode() 方法简单,先看 UiModeManagerService#persistNightMode()学习笔记:Android小白,这位置网上没资料,通过自己打日志阅读代码走的流程,可能有理解错误的地方。
2024-12-30 10:44:55
4019
1
原创 Android13下拉状态栏QS面板的加载流程解析
很明显,调用 tunerService 里的 addTunabe() 方法,跟进去会发现,最终的是调用的 TunerServiceImpl 里面的 addTunabe() 方法。在这里,与Android 9.0及其以下版本实例化 QSTileHost类的方式不一样,这里是通dagger来实例化的。上述代码中第一次 tileList 为空,调用了 getDefaultSpecs(context) 获取字符串,该方法比较简单,这里就不做分析了。看到这里通过对应的字符串分别实例化了对应的 Tile。
2024-12-23 15:34:33
4987
1
TranslationTools-v3.1511.01
2024-09-25
将密钥/证书导入现有Java密钥存储库的shell脚本
2023-02-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅