自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(76)
  • 资源 (3)
  • 收藏
  • 关注

原创 【源码阅读系列】(专) 线程通信机制之过时的AsyncTask

组件作用示例Executor管理任务的执行顺序和并发性控制下载任务是串行执行还是并行执行负责传递任务执行过程中的消息传递任务的进度、完成状态等信息Handler处理来自的消息更新 UI 或执行主线程操作。

2024-12-23 10:17:42 843

原创 【源码阅读系列】(专) 线程通信机制 —— Handler

Looper 不断获取中的一个Message,然后由Handler来处理。HandlerLooperMessage和Thread 与 Handler 几个概念之间的对应关系。子线程向主线程发送消息的过程Handler消息处理的优先级Handler消息发送的两种方式消息队列的阻塞和唤醒,同步屏障Looper的两种主要场景Looper循环的停止Message消息的获取。

2024-12-23 10:16:41 907

原创 【源码阅读系列】(六) Android 中的进程和线程

主线程:主线程的Looper和Handler在应用启动时自动准备好,主线程通过myLooper()访问自身的Looper,并通过mH处理消息。子线程:子线程需要显式调用来准备Looper,然后通过myLooper()获取自己线程的Looper,再创建Handler来处理该线程的消息。

2024-12-23 10:13:50 659

原创 【源码阅读系列】(专)Android权限机制

/APP 所需的所有权限,都需要在。

2024-12-13 16:28:46 1198

原创 【源码阅读系列】(五)进程间通信(二)

这一部分主要会介绍Android中特有的几个IPC机制。分别是: Intent、Binder、AIDL、ContentProvider。

2024-12-13 16:27:50 680

原创 【源码阅读系列】(四)进程间通信(一)

操作系统中的进程隔离机制确保了各个进程在独立的内存空间中运行,并通过严格的机制防止进程间的非法访问。然而,在某些场景下,进程间的通信(Inter-process Communication, IPC)是必要的。例如,Windows操作系统中的剪贴板功能可以让用户轻松地从一个程序中复制信息到另一个程序,即使两个程序彼此独立;或当一个应用程序的不同组件运行在多个进程中时,这些进程之间可能需要通信。因此,IPC机制的出现是为了满足此类需求。进程间通信的目的主要包括以下几点:IPC机制既可用于同一台机器上的进程间通

2024-12-13 16:25:43 933

原创 解决 Android 应用日志中 JDWP 报错问题

在基于 Android 11 的代码中,如果关闭而启用开发者选项的后,日志中则不会出现该问题。

2024-12-13 16:13:48 592

原创 解决无限循环的 udc-core 报错问题

出现该问题的原因是 Android 系统在启动 adbd 时尝试将 USB 设置为设备模式(device mode)以支持 ADB 功能,但当前 USB 口被设置为 OTG 模式(On-The-Go mode)。在设备的 makefile 配置中,通过设置某个属性,避免触发报错。注意:设置这个属性并不是真的会禁止ADB 调试,实测仍然可以使用网络进行ADB调试,因此推荐这样做。属性用于指示 USB ADB 功能是否被禁用,其值通过 Android 的 init.rc 脚本从。因此,此方案并不推荐使用。

2024-12-13 15:54:23 620

原创 预定义屏幕分辨率与屏幕像素密度 (Density)

在设备的 mk 文件中,通常会预定义以下三个属性以设置默认分辨率和密度。这些属性的配置示例如下:上述配置定义了系统支持的最大分辨率为 1920x1080,并设置了像素密度为 240。

2024-12-13 15:23:24 418

原创 Android TV因未完成开机向导导致HOME按键失效的解决方案

在调试 Android TV 设备时,可能会遇到遥控器的问题。这种现象并非由按键映射错误引起,而是与设备的开机向导()状态有关。本文将逐步分析问题原因并提供解决方法。

2024-12-13 15:20:37 793

原创 【源码阅读系列】(三)Android编译系统

Android.mk是以前Android项目中常用的构建脚本文件,Android.bp是用来替换Android.mk的配置文件,它使用Blueprint框架来解析。Blueprint是生成、解析Android.bp的工具,是Soong的一部分。Soong则是专为Android编译而设计的工具,Blueprint只是解析文件的形式,而Soong则解释内容的含义,最终转换成Ninja文件。Android.bp文件用类似JSON的简洁声明来描述需要构建的模块。基础了解请看Android.bp你真的了解吗在性能上。

2024-11-11 16:46:21 1114

原创 【源码阅读系列】(二)Android的源码与编译

现在来详细介绍一下envsetup.sh这个脚本这个脚本记录了编译过程中所需要的各种函数实现,如m\mm\mmm\lunch 等函数,进入这个脚本可以看到里面给出的提示可以使用m help命令获取提示。添加编译目标:将以下文件搜索并source进来注意,在安卓9可能有这个文件,更新版本就没有了,这里也会解释原因。当我们进入目录下后会发现里面有很多mk文件,其中比较重要的有AndroidProducts.mk 、device.mk、vendorsetup.sh、BoardConfig.mk。

2024-11-11 16:42:41 1584

原创 【Kotlin】 基础语法笔记

kotlin基础语法学习笔记

2024-10-31 10:59:26 1069

原创 Amlogic S905X4方案

基础信息:Android 11。

2024-10-31 10:34:28 1447

原创 Android各种调试命令

pm工具为包管理(package manager)的简称,可以使用pm工具来执行应用的安装和查询应用包的信息、系统权限、控制应用。:关于各种不同产品的配置,一些ro. 属性,一些软件的内置(Settings), "kl"文件,init.rc文件(权限和服务),开机动画, 语言时区。这个命令不仅会显示apk的基本信息还会显示UID,进程信息等,比较多,建议使用的时候结合grep。这个命令可以查看到apk的包名,版本信息,启动活动,SDK版本,权限信息,目标设备等。查看apk的包名和权限。

2024-10-31 10:19:25 911

原创 【Android11】开机启动日志捕捉服务

制作这个功能的原因是客户想要自动的记录日志中的报错和警告到设备的内存卡里面。虽然开发者模式中有一个“bug report” 会在目录下生成一个zip包记录了日志。但是客户觉得这个日志很难获取到他们需要的信息,他们想要的是logcat这种。于是我只能在网上寻找相关的解决办法。!!他使用了一个服务来过滤logcat日志并且记录下来,我这里将他转换成kotlin然后设置成开机启动。

2024-06-27 17:34:52 1480

原创 Android 11 系统OTA升级到旧版本(去除升级时间戳校验)

由于客户要求能够通过OTA升级到旧版本因此探寻反向升级的方法。

2024-06-25 14:59:14 971

原创 Android 系统设置中的休眠和屏保

由于客户在Android 系统设置中发现Timeout设置项没有效果,因此我对此研究了一下。Timeout是定时屏幕亮度降低,而Dream则是进入屏幕保护。如果是机顶盒等设备的开发者发现这个设置项没用,别见外,因为这里的亮度调整对TV是没用的,因此 ‘Screen Timeout’ 和‘brightness’ 是没用的。

2024-06-25 14:31:13 1070

原创 【源码阅读系列】(专)OTA升级机制

本文对OTA升级的几种方式的概念和运用进行总结,仅在使用层面对其解释。

2024-06-18 15:35:06 2795

原创 【Android 11】查看与修改默认音量和最大音量

在 Android 系统中,音量设置和修改涉及多个方面,包括音量类型、系统设置、应用代码,以及用户交互方式。

2024-06-13 17:17:16 983

原创 【Android 11】AOSP Settings添加屏幕旋转按钮

这里是客户要求添加按钮以实现屏幕旋转。这里的值可以是0,1,2,3 的任意一个。我这里没有陀螺仪,所以只需要这个命令就够了。更多的可以参考但是这有个缺陷,就是开机的动画不能随着设置好的屏幕方向旋转。

2024-06-13 11:55:12 1188 1

原创 遥控器无法点击AOSP Settings 的热点分享二维码

WIFI热点功能里面 右边有一个二维码按钮,是用来显示热点二维码的,同样遥控器无法点击,因此这里设置当聚焦到这个设置项的时候按下右键显示二维码。

2024-06-13 11:35:00 206

原创 遥控器无法点击AOSP Settings 的管理存储按钮 MANAGE STORAGE

这里是遇到了MANAGE STORAGE的按钮使用遥控器移动的时候无法聚焦到这个按钮,自然也就无法点击。它只能聚焦到这一整个整体,因此我就设置当点击到这一整个整体时,就相应MANAGE STORAGE按钮的点击事件。

2024-06-13 11:31:26 286

原创 Android11 AOSP Settings设置项没有阴影(遥控器操控)

原本的AOSP Settings对遥控器的适配不太行,很多地方遥控器移过去,当聚焦到某一个设置项的时候会没有阴影聚焦框。这里对部分聚焦框的改动进行总结。

2024-06-13 11:23:21 465

原创 【Android】遥控器无法点击AOSP Settings的返回按键

遥控器无法点击AOSP Settings的返回按键问题的修复

2024-06-13 10:31:23 473

原创 【源码阅读系列】(一)Android系统启动流程

prop属性的设置有两个地方:一个是配置文件读取的,一个是系统动态获取的1、在android源码目录下的: system/core/init/property_service.cpp 文件中的函数if (!if (!这里会从prop.default里面读取基础属性endefbuild/make/tools/buildinfo.sh这里面设定了一些基础属性。这里主要用于定义系统设置的默认值。这些默认设置在系统初始化时会被加载,并提供初始的系统配置,确保设备在第一次启动时有合理的设置值。

2024-06-12 16:42:40 837

原创 【Android】Android系统性学习——Android系统架构

部分内容参考《Android进阶解密》 – 刘望舒。

2024-06-12 16:27:20 7202

原创 【Android】通过伪模块移除编译中的某些APK

定义伪模块来统一移除某些APP

2024-05-20 10:34:11 673

原创 【Android 11】AOSP Settings APP info 界面展示所有应用

Android 11 的AOSP settings的默认情况中,点击应用和通知,展示全部应用之后里面是筛选过的应用。(APP info界面)有很多内置的应用以及插件是被过滤掉的不显示的。但是客户提出想要在右上角菜单栏加一个菜单,可以选择显示或者不显示全部的apps经过研究之后发现加菜单比较麻烦。所以选择在顶部加一个按钮来实现。

2024-02-26 15:32:28 1431

原创 【Android 11】AOSP Settings WIFI随机MAC地址功能

AOSP Settings WIFI随机MAC地址功能。

2024-02-26 14:46:05 1855 1

原创 【嵌入式Android各种调试命令】

一些调试的命令

2024-01-15 09:22:39 870

原创 【安卓的签名和权限】

大部分公司在自定义自己的秘钥的时候,都会做出如下修改在产品的mk中指定PRODUCT_DEFAULT_DEV_CERTIFICATE,如:device/amlogic/产品名/产品名.mk:endif一旦指定了PRODUCT_DEFAULT_DEV_CERTIFICATE就不会再使用默认的testkeybuild/core/config.mk文件:elseendif。

2024-01-02 21:49:18 2157

原创 Linux驱动开发简易流程

其中“mknod”是创建节点命令,“/dev/chrdevbase”是要创建的节点文件,“c”表示这是个字符设备,“200”是设备的主设备号,“0”是设备的次设备号。当我们在用户空间想要实现对内核的操作,比如使用 open 函数打开/dev/led 这个驱动,因为用户空间不能直接对内核进行操作,因此必须使用一个叫做“系统调用”的方法来实现从用户空间“陷入”到内核空间,这样才能实现对底层驱动的操作。第 3 行,obj-m 表示将 chrdevbase.c 这个文件编译为 chrdevbase.ko 模块。

2023-12-30 11:23:31 2570

原创 【AOSP】生成签名文件release key,通过Android源码对apk进行签名

现在apk都需要签名,Flutter做的项目官方规定编译apk必须签名。

2023-11-24 11:43:12 3267 1

原创 【Android11】Amlogic方案红外遥控器配置,定制按键,power按键(2024.7.1)

以amlogic方案为例,介绍红外遥控器的适配。以及客制化按键的定义,

2023-11-22 13:49:03 2760

原创 【Android11】AOSPSettings增加蓝牙开关

首先控制蓝牙开关的逻辑很简单,就可以关闭。这里需要用到。

2023-11-21 09:28:09 461

原创 【Android11】在内置的Tvsettings的界面中显示以太网Mac地址

这里实现获取以太网MAC的逻辑是使用获取并且将其转化为小写以适应其他设置项MAC地址的风格。这里注意,static final String KEY_XXX 的这个key要和我们第一步设置的key一样。Properties是什么可以自行去搜索,简单的来说就是存了很多参数的配置文件,在板子运行时可以通过控制台使用getprop命令查看所有的Properties,也可以getprop+具体参数名来搜索具体某一个参数的值。

2023-11-21 09:08:28 706

原创 【嵌入式Android入门经验】刚毕业的职场新人的感受和所见

根据我工作几个月的经验和我在网上找的一些经验贴的知识来看,我应该是基本了解了这方面的学习方向,这里我做成经验贴供有缘人参考。

2023-10-08 15:38:29 313 2

原创 AI绘画-Stable Diffusion笔记

软件:Stable Diffusion视频教程来自。

2023-10-07 17:39:16 1462

原创 《第一行代码Andorid》阅读笔记-第十三章(最终章)

我们需要将数据对应的实体类创建好,我们共建立了六个实体类分别如下AQI:存放城市的AQI指数以及PM2.5指数Basic:存放城市名、weatherId、update、updateTimeForecast:存放date、temperature、more、最高气温、最低气温、infoNow:气温和天气情况Suggestion:生活建议Weather:近期每一天的天气情况,放了一个List。

2023-10-07 17:23:04 147

Android开发工程师学习路线图

Android开发工程师学习路线图

2024-06-13

Kotlin学习资料自用

Kotlin学习资料自用

2024-06-13

Flutter学习资料

Flutter学习资料

2024-06-13

Java基础尚硅谷宋红康学习笔记

Java基础尚硅谷宋红康学习笔记

2024-06-13

湘潭大学信息安全复习要点2021年版

我也忘了是谁整理的了。不是我整理的。注意!不一定准确,毕竟每年都不一样,我也没有其他更很多的资源了,没有往年试卷

2023-05-30

湘潭大学数字图像处理复习试验文件

湘潭大学数字图像处理复习试验文件

2022-07-30

湘潭大学linux选修课程实验报告

湘潭大学linux选修课程实验报告

2022-07-30

湘潭大学网络协议实验报告

总共八个实验,水过去的。

2022-07-30

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除