安卓
文章平均质量分 89
记录一些android学习的知识
习惯就好zz
一个无趣的人
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
Android 12 RK3588平台电源菜单深度定制指南
Android 12 RK3588电源菜单定制指南摘要 本文详细介绍了在Android 12 RK3588平台上深度定制电源菜单的全过程。首先分析了定制电源菜单的必要性(品牌差异化、功能扩展等)和技术挑战(系统组件修改复杂度)。通过逆向工程定位到核心源码文件GlobalActionsDialogLite.java和布局文件global_actions_grid_lite.xml。原创 2025-12-26 15:37:34 · 1047 阅读 · 0 评论 -
在安卓设备上测试 AWS S3 下载速度的完整指南
本文详细介绍了在安卓设备上测试AWS S3下载速度的方法。通过Termux和AWS CLI的组合,无需Root即可搭建轻量级测试环境。步骤包括:安装Termux、配置AWS CLI、编写测速脚本、执行测试并分析结果。文章还提供了常见问题解决方法及优化建议,如使用大文件测试、多次运行取平均值等。该方法成本低、易复现,适用于移动开发、边缘计算和网络性能调优等场景,能有效验证特定网络环境下AWS S3的实际访问性能。原创 2025-12-19 09:41:34 · 597 阅读 · 0 评论 -
在 RK3588 上彻底禁用 HDMI 音频输出
摘要: 本文详细介绍了在RK3588平台上彻底禁用HDMI音频输出的完整解决方案。首先通过分析audio_policy_configuration.xml文件定位问题根源,手动修改验证后删除HDMI相关配置。随后将修改固化到AOSP源码,重点说明了正确的编译刷机方法(必须使用update.img而非fastboot)。文章总结了常见错误及解决方法,并强调该方案仅影响音频输出,不影响HDMI视频功能。这套从临时调试到源码固化的完整流程,特别适用于数字标牌等需要强制使用板载喇叭的嵌入式场景。原创 2025-12-11 08:21:12 · 733 阅读 · 0 评论 -
如何解包 Android boot.img 并检查 UART 是否启用
本文详细介绍了如何解包 Android 设备的 boot.img 并检查 UART 是否启用(以 RK3588 为例)。主要内容包括:使用 AOSP 工具 unpack_bootimg 解包 boot.img原创 2025-12-10 14:38:44 · 675 阅读 · 0 评论 -
版本号内容定义Semantic Versioning
是一种用于软件版本管理的约定,它帮助开发者清晰地表达软件版本的更新内容及其兼容性。。原创 2025-07-10 09:57:17 · 587 阅读 · 0 评论 -
Android系统启动流程学习(五).MainActivity启动过程
这里的 mH 指的是H,它是 ActivityThread 的内部类并继承自 Handler,是应用程序进程中主线程的消息管理类。因此,虽然 ApplicationThread 的存在是为了让应用进程能够与 AMS 通信,但它并不是在 Zygote 初始化阶段创建的,而是在应用进程启动之后,由该进程内部自行创建并初始化的。根 Activity 启动过程中涉及 4 个进程,分别是 Zygote 进程、Launcher 进程、AMS 所在的进程(SystemServer 进程)、应用程序进程。原创 2025-04-18 14:01:03 · 1075 阅读 · 0 评论 -
Android系统启动流程学习(四)应用程序进程启动过程
想要启动一个应用程序,必须先启动应用程序进程。AMS 启动应用程序时先检查需要的进程是否存在,不存在就请求 Zygote 进程启动进程。Zygote 启动时的 Socket 就是用来等待 AMS 的新建应用进程的请求的。Zygote 通过 fork 自身创建应用程序进程,这样就能继承 Zygote 启动时的虚拟机实例,同事也创建了 Binder 线程池和消息循环,这样就能方便的进行 Binder 进行进程间通信以及处理消息了。原创 2025-03-27 11:50:24 · 949 阅读 · 0 评论 -
Android系统Launcher启动流程学习(三)Launcher启动流程
系统启动的最后一步是启动一个应用程序用来显示系统中已经安装的应用程序,并作为这些安装程序的启动入口,这个应用程序就是Launcher。上面得知SystemServer 进程启动中会启动很多其他的服务,其中一个就是 ActivityManagerService,在 startOtherServices 中会调用 AMS 的 systemReady() 方法将 Lanuncher 启动起来。原创 2025-03-26 11:26:35 · 855 阅读 · 0 评论 -
Kotlin标准函数库学习
apply:apply 函数可看作一个配置函数:你可以传入一个接收者,然后调用一系列函数来配置它以便使用。takeUnless 和takeIf 唯一的区别是:只有判断你给定的条件结果是false 时,takeUnless 才会返回原始接收者对象。它们的功能行为是一样的,但with 的调用方式不同。takeIf:和其他标准函数有点不一样,takeIf 函数需要判断lambda中提供的条件表达式(叫predicate),给出true 或false 结果。apply 可以用在初始化时,的不断引用的情况。原创 2025-03-18 14:02:14 · 417 阅读 · 0 评论 -
RK3588 AB镜像升级学习(一)
这里的步骤跟生成system.img基本一致,宏函数build-userdataimage-target内通过build_image.py来将$(PRODUCT_OUT)/data目录内容打包生成userdata.img,不同的是,这里不再需要放入ramdisk的内容。对比A/B系统下boot.img生成方式和非A/B系统下recovery.img的生成方式,基本上是一样的,所以A/B系统下的boot.img相当于非A/B系统下的recovery.img。原创 2024-05-31 15:00:33 · 2954 阅读 · 0 评论 -
ADIL简单测试实例
这个连接是Java的代码,我根据它的链接写了一个kotlin版本的。(Android Interface Definition Language)是Android平台上用于进程间通信(IPC)的一种接口定义语言。它允许不同进程中的组件(如服务和服务、服务和活动等)相互通信。AIDL是Android平台上实现跨进程通信的重要工具,它为开发者提供了一种方便、高效的方式来实现不同进程间的数据交换和方法调用。原创 2024-05-28 18:50:59 · 1594 阅读 · 1 评论 -
kotlin 编写一个简单的天气预报app (八)获取设备坐标
通过网络获取了安卓设备的坐标,并请求对应的天气情况原创 2024-05-24 17:08:22 · 1377 阅读 · 0 评论 -
kotlin 编写一个简单的天气预报app (七)使用material design
更新了(六)中的代码,增加了搜索显示城市列表,点击城市显示对应的天气原创 2024-04-27 14:26:45 · 1382 阅读 · 2 评论 -
Android Material Design学习笔记
学习Material Design的部分控件原创 2024-04-16 16:07:06 · 922 阅读 · 0 评论 -
android 9 adb安装过程学习(四)覆盖安装
adb安装过程中,如果已经安装了app,就会进行覆盖安装原创 2023-12-20 11:06:09 · 1237 阅读 · 0 评论 -
android 9 adb安装过程学习(三)
PackageManagerService接下来,进入 PackageManagerService 阶段。从PackageInstallerSession.java的commitLocked调用这里的 IPackageInstallObserver2 observer 是前面创建的本次 localObserver:位置:这里的 mHandler 是在 PackageManagerService 的构造器中创建的:是一个 PackageHandler 实例,其绑定了一个子线程 ServiceThrea原创 2023-11-27 10:13:10 · 3697 阅读 · 0 评论 -
android 9 adb安装过程学习(二)
从adb的命令开始解析install的过程,解析PackageInstallerService.java和PackageInstallerSession.java原创 2023-11-22 17:00:52 · 915 阅读 · 0 评论 -
android 9 adb安装过程学习(一)
android的pm install流程原创 2023-11-10 17:01:33 · 1245 阅读 · 0 评论 -
PackageManagerService初始化
PMS 用来管理所有的 package 信息,包括安装、卸载、更新以及解析 AndroidManifest.xml 以组织相应的数据结构,这些数据结构将会被 其他 service 和 application 使用到。总结添加一些用户 id,如 system、phone 等;原创 2023-11-04 13:20:15 · 579 阅读 · 0 评论 -
Android系统Launcher启动流程学习(二)SystemServer启动流程
在init进程中有解析.rc文件,在这个rc文件中配置了一个重要的服务service–zygote,这是app程序的鼻祖zygote进程主要负责创建Java虚拟机,加载系统资源,启动SystemServer进程,以及在后续运行过程中启动普通的应用程序。不同机器 zygote.rc 的文件个数可能有不同,这里有四种。原创 2023-11-03 16:50:15 · 1137 阅读 · 0 评论 -
Android系统Launcher启动流程学习(一)init启动部分
Android的Launcher启动流程原创 2023-11-02 10:12:11 · 562 阅读 · 0 评论 -
kotlin 编写一个简单的天气预报app(六)使用recyclerView显示forecast内容
使用recyclerView显示数据原创 2023-08-03 17:14:26 · 1569 阅读 · 0 评论 -
kotlin 编写一个简单的天气预报app(五)增加forcast接口并显示
在天气app里增加了预测的功能并用列表显示原创 2023-07-31 16:50:41 · 973 阅读 · 0 评论 -
kotlin 编写一个简单的天气预报app(四)增加界面显示
修改界面原创 2023-07-28 14:25:50 · 923 阅读 · 0 评论 -
kotlin 编写一个简单的天气预报app(三)broadcast换成eventbus
把broadcast换成了eventbus,效果很好原创 2023-07-28 11:32:17 · 836 阅读 · 0 评论 -
kotlin 编写一个简单的天气预报app(二)增加搜索城市功能
编写广播的方式显示数据内容原创 2023-07-26 13:12:08 · 867 阅读 · 0 评论 -
kotlin 编写一个简单的天气预报app(一)
从openweathermap获取数据,然后从返回的json结构获取需要的内容,并打印日志。原创 2023-07-25 11:04:49 · 2556 阅读 · 0 评论 -
Android Kotlin 基础知识codelab activity 和 fragment 生命周期
学习activity和fragment的生命周期原创 2022-12-13 19:19:47 · 800 阅读 · 3 评论 -
Android kotlin 基础知识codelab Fragment Summary
android kotlin codelab Fragment Summary原创 2022-12-09 15:00:39 · 784 阅读 · 0 评论 -
Android kotlin 基础知识codelab Acvitity Summary
android kotlin codelabe 记录原创 2022-12-09 14:43:56 · 744 阅读 · 0 评论 -
Kotlin Essentials: Beyond the Basics
学习kotlin的基本知识之外的信息原创 2022-11-24 17:33:59 · 448 阅读 · 0 评论 -
kotlin 类
kotlin 类相关的基础知识学习原创 2022-11-17 14:43:46 · 756 阅读 · 0 评论 -
kotlin函数
kotlin函数的基本用法学习原创 2022-11-15 19:26:45 · 1380 阅读 · 0 评论 -
kotlin基础
kotliin基础知识学习原创 2022-11-03 11:25:20 · 247 阅读 · 0 评论
分享