Android 13.0 无源码app修改它的icon图标

1.概述

在13.0的系统产品rom定制化开发中,有些产品需要对Launcher3中桌面显示的app的icon做替换,如果没有源码的话更换会麻烦点,需要从pms解析app的时候,
可以替换掉app的icon图标就可以了,接下来就来实现相关的功能

2.无源码app修改它的icon图标的相关核心类

 frameworks/base/core/java/android/content/pm/PackageParser.java

3.无源码app修改它的icon图标的核心功能实现和分析

PMS(PackageManagerService)是Android提供的包管理系统服务,它用来管理所有的包信息,包括应用安装、卸载、
更新以及解析AndroidManifest.xml。通过解析每个安装应用的AndroidManifest.xml,将xml中的数据全部都保存起来,
后续提供给AMS所需要的数据,它是具有保存应用数据的缓存。
在安装过程中首选遍历/data/app和/system/app文件夹,找到apk文件,然后通过submit()方法进行了apk的解析,
将上面找到的apk文件路径传入PackageParser对象的parsePackage()进行apk的解析。在不同的系统源码版本解析的方式也不相同

3.1PackageParser中关于解析app的方法分析

Android中PackageParser对咱们对Manifest的解析就可以看作解释器的实现。Activity、Service、Provider、Permission等构件在内部以内部类的方式创建了对应的类,按照解释器的定义,这些类在AndroidManifest.xml中都对应一个标签,这就是文法,

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/158996.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Debian 12 / Ubuntu 22.04 安装 Docker 以及 Docker Compose 教程

Debian 12 / Ubuntu 22.04 安装 Docker 以及 Docker Compose 教程 本文将指导如何在 Debian 12 和 Ubuntu 22.04 下安装 Docker 以及 Docker Compose。 PS:本文同时适用于 Debian 11 以及 Ubuntu 20.04 什么是 Docker? Docker 是一种容器化技术&#x…

工厂模式之工厂方法模式(常用)

工厂方法模式 简单工厂模式违背了开闭原则,而工厂方法模式则是简单工厂模式的进一步深化,其不像简单工厂模式通过一个工厂来完成所有对象的创建,而是通过不同的工厂来创建不同的对象,每个对象有对应的工厂创建。 定义&#xff…

git 把项目托管到码云

码云: 把项目托管到码云 1.注册并微活码云账号(https://gitee.com/] 2.牛成井前博 SSH公钥 (运行 ssh -t gitgitee.com 构测 SSH 公明是否有开成功) 3.创建率户的码人伦;库 4.把本地项口上传到码云对应的空白仓库中 第一:上传个新项目 cd existing_git_…

【Redis篇】简述Redis | 详解Redis命令

文章目录 🎍什么是Redis🎍Redis特点🎍Redis应用场景🍔Windows安装Redis⭐启动Redis 🌺Redis数据类型🌺Redis常用命令⭐字符串string操作命令⭐哈希hash操作命令⭐列表list操作命令⭐集合set操作命令⭐有序集…

C++实战学习笔记

文章目录 erase()uniquevector的insert()std::string::npos erase() (1)erase(pos,n); 删除从pos开始的n个字符,比如erase(0,1)就是删除第一个字符 (2)erase(position);删除position处的一个字符(position是个string类…

linux下流媒体压力测试工具的使用

前言 因为领导要求做linux的推拉流时服务器压力测试,于是在网上找了找。一顿操作下来,发现很多软件盗用一款名为srs-bench的开源软件。 该代码仓库有详细的使用说明,而且可以在issues中找到可能会遇到的问题的解决办法 需要下载该仓库的源…

RK3568开发板在工控工业物联网网关方面的应用

在数字化转型的浪潮中,工控物联网关产品扮演着重要的角色。这些产品通过连接工业设备和网络,为数据传输和分析提供了便利。而迅为RK3568核心板作为一款高性能的芯片,为工控物联网关产品的性能提升和功能扩展提供了强大的支持。 迅为RK3568核心…

postgres in (?,?) 和 =any(?) 用法/性能对比

刚刚回顾了一下 JDBC 操作 SQL Server 时如何传入列表参数,即如何给 in (?) 条件直接传入一个列表参数,然而本质上是不支持,最终不得不展开为 in (?, ?,...?) 针对每个元素单独设置参数,不定长的参数对于重用已编译 PreparedS…

Win10 删除文件需要管理员权限

按住Shift,在空白处点击右键,在此处打开PowerShell PowerShell rm -force E:\test\test.txt

基于JAVA+SpringBoot+VUE+微信小程序的前后端分离咖啡小程序

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 🍅文末获取项目下载方式🍅 一、项目背景介绍: 随着社会的快速发展和…

2023年约特干故城夜间演艺《万方乐奏有于阗》完美谢幕

11月19日,记者走进约特干故城看到演员在欢乐地跳着刀郎舞和古典舞,庆祝今年以来夜间演艺《万方乐奏有于阗》演出200场完美谢幕。 11月19日在约特干故城,演员正在表演迎宾乐舞。阿卜力克木依卜拉依木摄 当天晚上,城楼上旌旗猎猎&am…

Java-接口

接口 接口 接口就是公共的行为规范,只要实现时符合标准就可以通用. 接口可以看成是: 多个类的公共规范,是一种引用数据类型. 使用关键字interface实现接口. 接口是不能被实例化的. 接口中的成员变量默认是 public static final 接口中只能有抽象方法,当中的方法不写,也是pu…

C语言中的多线程调用

功能 开启一个线程&#xff0c;不断打印传进去的参数&#xff0c;并且每次打印后自增1 代码 #include<windows.h> #include<pthread.h> #include<stdio.h>void* print(void *a) {int *ic(int*)a;float *fc(float*)(asizeof(int)*2);double *dc(double*)(as…

拆解现货黄金隔夜利息计算公式

在讨论现货黄金投资手续费的时候&#xff0c;隔夜利息是经常被忽略的一个方面&#xff0c;但它是投资者不得不考虑的成本因素&#xff0c;特别是在中长线交易的情况下。隔夜利息是根据投资者的持仓数量和交易方向所计算出的利息&#xff0c;如果投资者需要持仓过夜&#xff0c;…

9.3 Windows驱动开发:内核解析PE结构节表

在笔者上一篇文章《内核解析PE结构导出表》介绍了如何解析内存导出表结构&#xff0c;本章将继续延申实现解析PE结构的PE头&#xff0c;PE节表等数据&#xff0c;总体而言内核中解析PE结构与应用层没什么不同&#xff0c;在上一篇文章中LyShark封装实现了KernelMapFile()内存映…

Transformer的一点理解,附一个简单例子理解attention中的QKV

Transformer用于目标检测的开山之作DETR&#xff0c;论文作者在附录最后放了一段简单的代码便于理解DETR模型。 DETR的backbone用的是resnet-50去掉了最后的AdaptiveAvgPool2d和Linear这两层。 self.backbone nn.Sequential(*list(resnet50(pretrainedTrue).children())[:-2…

电脑乐园杂志电脑乐园杂志社电脑乐园编辑部2023年第3期目录

《电脑乐园》投稿邮箱&#xff1a;cnqikantg126.com(注明投稿“《电脑乐园》”) Q Q &#xff1a;695548262 微信号&#xff1a;f99832970 计算机信息技术 计算机人工智能识别技术的应用探析 (0001) 于洋;李泰元 项目教学法用于 中职计算机应用基础教学中的策略 (0004) 张莉…

LabVIEW如何获取波形图上游标所在位置的数值

LabVIEW如何获取波形图上游标所在位置的数值 获取游标所在位置数值的一种方法是利用波形图的游标列表属性。 在VI的程序框图中&#xff0c;右键单击波形图并选择创建引用 &#xff0c;然后将创建的引用节点放在程序框图上。 在程序框图上放置一个属性节点&#xff0c;并将其…

后端真批量新增的使用

1,添加真批量新增抽象接口 public interface EasyBaseMapper extends BaseMapper { /** * 批量插入 仅适用于mysql * * return 影响行数 */ Integer insertBatchSomeColumn(Collection entityList); } 2,新增类,添加真批量新增的方法 public class InsertBatchSqlInjector ext…

聚焦数字化项目管理——2023年PMI项目管理大会亮点回顾

11月18日-19日&#xff0c;由PMI&#xff08;中国&#xff09;主办的2023年PMI项目管理大会在上海浦东嘉里大酒店圆满召开。本次大会以“数智时代&#xff0c;汇创未来”为主题&#xff0c;聚焦数智时代大背景下的项目管理行业发展和人才培养&#xff0c;吸引了海内外千余名项目…