![](https://img-blog.csdnimg.cn/897b7d2133f549fc98c27f4921be3cc1.jpeg?x-oss-process=image/resize,m_fixed,h_224,w_224)
【Android 系统基础与定制】
文章平均质量分 91
Android 系统基础 杂项
一歲抬頭
工作方向:Android/Linux系统基础开发。兴趣方向:AIGC/大模型自然语言生成(有同样兴趣的欢迎交流)。
展开
-
Android Studio项目中集成和调用本地库
在Android开发中,常常需要使用本地库(native lib)来处理高性能任务或使用现有的C/C++代码库。本文将介绍如何在一个Android项目中集成和调用两个本地库,其中一个库依赖于另一个库。原创 2024-07-27 18:34:35 · 610 阅读 · 0 评论 -
MTK Android12 客制化隐藏Settings所有应用和Launcher桌面图标功能
本文介绍通过修改Settings应用和Launcher应用,可以实现对特定应用图标的隐藏。在进行Android定制化过程中,会遇到需要隐藏特定应用图标的需求。涉及的模块包括Settings应用和Launcher应用。隐藏特定应用图标可以减少误操作。原创 2024-07-23 09:21:18 · 535 阅读 · 0 评论 -
MTK Android 12 MtkSettings增加控制SystemUI StatusBar、Navbar显示隐藏
本文介绍在定制化Android12 系统定制开发过程中,控制SystemUI中的状态栏和导航栏显示隐藏。在这篇技术博客中,我将介绍如何通过修改MtkSettings增加控制SystemUI StatusBar、Navbar显示隐藏。原创 2024-07-22 11:33:00 · 457 阅读 · 0 评论 -
Android Studio项目中的重复类、动态版本控制及其他优化方法
本文介绍在Android开发中常见的几个问题及其解决方案,包括如何处理重复类、动态版本控制、打包完整的AAR以及关闭Instant Run功能。通过这些方法,可以更高效管理项目依赖,提高构建效率,并减少不必要的错误。原创 2024-07-21 12:44:53 · 958 阅读 · 0 评论 -
MTK Android 12 自动化编写Android.mk预置应用
本文介绍,在Android 12平台上,预置应用可以安装到不同的分区和文件夹中。下面我总结了如何编写预置应用的Android.mk文件、如何参考Rockchip的脚本auto_generator.py将其改造以适应MTK等平台的需求,后续使用过程中有问题会在这个基础之上更新。原创 2024-07-16 09:12:55 · 998 阅读 · 0 评论 -
MTK Android 12修改默认权限以及添加XXX IoT应用默认权限
本文介绍,在MTK Android 12的系统定制过程中,项目需求需要为某些关键应用设置默认权限,以确保它们能够正常运行。这篇博客将详细介绍如何通过修改系统代码来为XXX IoT应用添加默认权限,同时对这些修改进行技术分析。原创 2024-07-15 14:47:20 · 951 阅读 · 0 评论 -
MTK Android 12修改 XX IoT 应用 SELinux 策略和权限配置
本篇博客介绍,在开发和调试MTK A12系统预置 xxx IoT 应用过程中,遇到了一系列 SELinux 和权限管理相关的问题。以下是详细的错误日志和对应的修改记录。原创 2024-07-12 15:27:32 · 1162 阅读 · 0 评论 -
解决 Android 项目中 Duplicate Class 问题
在 Android 应用项目中,经常会遇到重复类(Duplicate Class)的问题。特别是在处理多个库或模块依赖时,可能会有同名类被包含在不同的 JAR 文件中。本文将详细介绍如何解决这个问题,并提供一个完整的Gradle自动化脚本来处理重复类的问题。原创 2023-07-26 15:09:27 · 78 阅读 · 0 评论 -
MTK Android 12 环境中编译生成 NVRAM 相关 JAR 文件调用的完整步骤
在本文中,我将详细介绍如何在 MTK 方案 Android 12 环境中,从初始配置到生成 `vendor.mediatek.hardware.nvram@1.0-java_intermediates/classes.jar` 文件给应用调用`INvram agent = INvram.getService();`的完整过程。原创 2024-07-05 10:52:47 · 1300 阅读 · 0 评论 -
RK3288 主板上的RT5651芯片SPK音频无声音问题解决方案
本文介绍解决在早期出货的Rockchip RK3288主板运行Android 8.1时,我们遇到了RT5651芯片的SPK(扬声器)概率性无声音问题。将详细介绍问题的现象、之前的解决尝试以及最终的优化方法。原创 2024-04-17 10:59:43 · 417 阅读 · 1 评论 -
Android构建系统:Android.mk(3)条件控制详解
在本文中,将介绍Android.mk文件中条件控制的使用方法和一些常用的控制语句。通过使用条件控制,可以根据不同的情况执行不同的操作,可以实现一些复杂的逻辑。我会附上详细的测试代码和测试结果。原创 2023-10-28 22:19:18 · 480 阅读 · 0 评论 -
Android构建系统:Android.mk(1)基础概念赋值变量引用详解
本文学习Android.mk文件中赋值操作、变量引用和函数的使用方法,静态库和可执行文件的示例。通过使用这些概念,可以更灵活地控制Android.mk文件中的变量和表达式,从而实现满足客户的功能。原创 2023-10-28 02:07:32 · 495 阅读 · 0 评论 -
Android构建系统:Android.mk(2)函数详解
本篇博客中,我将介绍Android.mk详解中的其中一个部分【函数】和make/m等命令概念的区分,Android.mk文件中使用Makefile中函数的概念和用法,以及一些常用的内置函数和自定义函数。通过使用函数,可以简化和优化Makefile中的字符串操作,可以实现一些复杂的功能。我会附上详细的测试代码和测试结果。。原创 2023-10-27 00:30:37 · 262 阅读 · 0 评论 -
Android源代码定制:Overlay目录定制|调试Overlay资源是否生效
在本文中介绍了Android源代码定制的一些机制和工具,包括:-介绍了overlay的概念和目录结构,以及如何自定义overlay目录和资源。介绍了`aapt`工具的用法,以及如何查看系统镜像中的资源信息。原创 2023-10-22 21:50:02 · 905 阅读 · 0 评论 -
Android源代码定制:MK文件执行顺序|属性覆盖
在本文中介绍了Android源代码定制的一些机制和工具,包括:介绍了mk文件的结构和语法,以及如何确定mk文件的执行顺序。介绍了属性的类型和赋值方式,以及如何覆盖属性的值。原创 2023-10-22 21:04:16 · 1126 阅读 · 4 评论 -
Android源代码定制:移除无用lunch|新建lunch|自定义customize.mk
本文介绍基础定制,例如移除了无用的lunch选项,添加了新的lunch选项,自定义ustomize.mk。可以根据自己的需求和喜好,进行更多的定制和优化,打造出属于自己的Android系统。原创 2023-10-22 01:03:55 · 459 阅读 · 0 评论 -
Android 解决USB TP驱动中触摸卡顿和防抖动问题
在本文中,我将探讨如何在Android 内核驱动中优化USB TP并解决这一触摸事件的防抖动问题。原创 2023-10-20 10:01:27 · 394 阅读 · 0 评论 -
Android HAL深入探索(7)hidl-gen和hidl2aidl的使用详解
本文将分别介绍hidl-gen和hidl2aidl的基本用法、生成的代码文件、实现原理、区别和联系等内容,让大家更好地理解和使用这两个工具。原创 2023-09-19 14:33:13 · 1175 阅读 · 6 评论 -
Android 通过tinyalsa调试解决录制和播放音频问题
本文介绍了如何在Android平台的调试声卡驱动来录制和播放音频,特别是如何使用 MIC1 作为录音输入源,也学习了如何使用 tinyalsa 等待工具来查看和设置声卡参数和设备。原创 2023-09-25 15:10:04 · 976 阅读 · 0 评论 -
Android系统 文件访问权限笔记
本文简单学习 Android 系统的文件访问权限的概念、分类、申请方法、framework层源码位置和关键函数,以及 Android 11、12 和 13 的文件访问权限的变化和适配方法。原创 2023-09-19 09:32:46 · 3291 阅读 · 0 评论 -
Android系统 自动加载自定义JAR文件
本文将详细教你如何在Android中系统级加载自定义的JAR文件 以及简单了解学习Android系统类加载流程。原创 2023-09-13 18:30:45 · 641 阅读 · 1 评论 -
Android HAL深入探索(6): HIDL 添加SELinux 完整调试过程
在本文中,我将介绍如何为一个新的HIDL服务添加SELinux策略(分享标准和平台方式),以确保它能够在Android系统中正常运行。我将以`canbus`服务为例,展示从报错到解决的完整流程。原创 2023-09-11 15:55:05 · 938 阅读 · 2 评论 -
Android HAL深入探索(5): 调试HAL报错与解决方案
本文将介绍一些我自己在学习Android HAL的调试技巧和常见错误的解决方案,希望能帮助到大家。如果有错误 请指正,后面HAL相关的调试和解决方案将更新在此。原创 2023-09-09 22:14:58 · 1709 阅读 · 0 评论 -
Android系统 修改无源码普通应用为默认Launcher和隐藏Settings中应用信息图标
在本文中,我将介绍如何在Android系统修改应用为默认launcher和隐藏应用图标的方法。这些方法是基于无源码的情况下进行的,只需要修改系统pms解析Androidmanifes.xml解析部分逻辑即可。当然这些方法可能并不是通用的,可能在不同的设备和系统版本上有所差异,需要根据具体情况进行调整和测试,我在这里只是提供思路。原创 2023-09-07 22:08:19 · 1451 阅读 · 1 评论 -
Android HAL深入探索(1): 架构概述
在本文中,将深入学习了解Android HAL的不同方式和架构,以及它们之间的区别和联系。将从最早的Legacy HAL开始,然后从Android 8.0 (Oreo) 开始引入的新的HAL定义方式:HIDL (Hardware Interface Definition Language)。将比较HIDL的两种模式:Passthrough mode 和 Binderized mode,并分析它们各自的优缺点。原创 2023-09-04 17:29:35 · 796 阅读 · 0 评论 -
Android系统 添加动态控制屏幕方向、强制APP横竖屏方向
本文介绍了如何在Android系统中Settings添加屏幕旋转和强制App应用旋转的功能,以便客户可以根据项目需求调整屏幕方向。原创 2023-08-30 09:30:09 · 4073 阅读 · 3 评论 -
Android系统 添加动态控制SystemUI状态栏、导航栏和下拉菜单
本文介绍了如何在Android系统中添加状态栏、导航栏和下拉菜单的控制功能,主要涉及了SystemUI模块和Settings模块的修改,以及系统属性和广播的使用。这些功能可以让用户控制和调用决定是否启用显示xx。原创 2023-08-29 16:17:12 · 2101 阅读 · 3 评论 -
Android 双网卡配置为连接到Android主机的PC提供外网访问(1)
在本文中,我将探讨如何为连接到Android主机的设备提供网络访问。将使用一个实际的故障排查案例来详细说明这个过程,最终实现用脚本完成各项检查和配置工作。原创 2023-08-29 11:03:36 · 1203 阅读 · 1 评论 -
Rockchip 自定义vendorstorages数据再u-boot通过cmdline给kernel传递数据
本文介绍通过vendorstorages,允许保存和读取自定义数据。通过在U-Boot中读取这些数据并将其添加到cmdline中,将这些数据传递给Linux内核,实现了一个灵活的方式来配置和定制系统的需求。原创 2023-08-26 16:44:51 · 833 阅读 · 1 评论 -
Android USB系统初始化init.usb.rc
本文学习init.usb.rc文件是另一种用于配置和控制Android USB系统的初始化脚本文件,它使用了一种基于sysfs(系统文件系统)的方法来设置USB配置和模式。sysfs是一种特殊的虚拟文件系统,它允许用户通过读取和修改文件来访问内核对象的属性,如USB设备的ID、功能、状态等。sysfs通常挂载在/sys目录下,它提供了一个名为class/android_usb/android0的子目录,用于管理USB设备的属性和行为。原创 2023-08-25 22:15:00 · 1025 阅读 · 0 评论 -
Android USB系统初始化init.usb.configfs.rc
本文介绍init.usb.configfs.rc文件是一种用于配置和控制Android USB系统的初始化脚本文件,它使用了一种基于configfs(配置文件系统)的方法来设置USB配置和模式。原创 2023-08-25 17:33:51 · 1168 阅读 · 0 评论 -
Android系统 自定义动态修改init.custom.rc
本文介绍如何添加自己的自定义init.custom.rc 然后在自定义文件里添加自定义服务或命令 ,而不是混杂在主文件中。并且能动态修改这个init.rc。原创 2023-08-25 09:50:24 · 737 阅读 · 0 评论 -
RK3568 Android系统客制化动态替换ro任意属性
本文将以RK3568 Android11为例,介绍如何动态替换任意的`ro`属性以及在此过程中遇到的问题和解决方案。原创 2023-08-24 17:34:19 · 444 阅读 · 0 评论 -
RK3568 Android/Linux 系统动态更换 U-Boot/Kernel Logo
本文介绍 在Android/Linux开发中,开机 Logo 是设备品牌的标志,经常需要根据不同的客户或应用场景进行定制。开机 Logo 通常是打包在固件的 img 文件中,这意味着每次更换 Logo 都需要重新编译并烧录整个固件,这无疑增加了开发的复杂性和浪费时间。本文将介绍一种在 RK3568 Android/Linux 系统中动态更换 U-Boot 和 Kernel Logo 的方法。原创 2023-08-24 14:33:59 · 2858 阅读 · 1 评论 -
Android OTA升级后输入法异常和应用丢失的分析
本文探讨的输入法异常问题只是其中的一个例子,提醒我们,在进行OTA升级时,需要特别注意`/data`分区的处理,以确保系统的稳定性和功能完整性,另外提醒 我认为这种改法不是最佳改法,不排除这种改法会导致系统其他设置出现异常(但我没遇到过^^)。原创 2023-08-24 11:21:12 · 373 阅读 · 0 评论 -
Android 11 以上 SettingsProvider DatabaseHelper 解析
本文介绍了 Android 11 以上 SettingsProvider DatabaseHelper 的相关知识,包括它的作用、方法、数据表结构、默认设置、不同版本的区别、adb 命令的使用、自定义变量的创建等。原创 2023-08-21 11:05:55 · 1406 阅读 · 0 评论 -
Android系统 应用存储路径与权限
本文学习Android存储路径和权限,分为系统预装应用、特权系统应用、用户安装应用和平台签名应用。根据存储位置和权限级别各不相同。原创 2023-08-13 15:16:13 · 4377 阅读 · 0 评论 -
Android系统 权限组管理和兼容性
本文学习Android应用的权限组 ,权限组管理 , 以及不同Android版本权限兼容性如何处理原创 2023-08-12 14:14:22 · 720 阅读 · 0 评论 -
Android系统 自定义系统和应用权限
本文学习Android权限模型的基础概念 , 以及自定义系统权限和应用权限 , 自定义权限的目的就是为了更加精细的控制。原创 2023-08-12 14:00:00 · 1951 阅读 · 0 评论 -
Android系统 理解/sys/目录权限和UID和GID?
本文介绍了Android中/sys/目录的生成和权限,以及Android中UID和GID的分配和查看。希望本文对你有所帮助。原创 2023-08-11 15:37:50 · 2473 阅读 · 0 评论