当前位置: 首页 > news >正文

高通安卓12-安卓系统定制2

将开机动画打包到system.img里面

在目录device->qcom下面

有lito和qssi两个文件夹

现在通过QSSI的方式创建开机动画,LITO方式是一样的

首先加入自己的开机动画,制作过程看前面的部分

打开qssi.mk文件,在文件的最后加入内容

PRODUCT_COPY_FILES += $(LOCAL_PATH)/bootanimation.zip:$(TARGET_COPY_OUT_SYSTEM)/media/bootanimation.zip

如果正常的话,会在设备端看到相关的文件

查看安卓app包名的5种方法

方法一:

输入命令:adb shell am monitor

然后启动需要获取包名的应用

方法二:

adb shell pm list packages -3

查看自己安装的app包名

方法三:

安卓系统中:设置——应用——正在运行 查看

方法四:

安卓系统中:文件管理器访问目录/data/data下,文件夹即为包名

方法五:

将apk包反编译后,打开AndroidManifest.xml,搜索package获取包名

记录常用的输入法包名和类名

以下几种输入法是工作过程中经常接触的,以这里顺便记录一下其包名和类名:

输入法 包名/类名

百度输入法 com.baidu.input/.ImeService

讯飞输入法 com.iflytek.inputmethod/.FlyIME

搜狗输入法 com.sohu.inputmethod.sogou/.SogouIME

腾讯输入法 com.tencent.qqpinyin/.QQPYInputMethodService

触宝输入法 com.emoji.keyboard.touchpal/com.cootek.smartinput5.TouchPalIME

Kika输入法

com.kikaoem.qisiemoji.inputmethod/com.android.inputmethod.latin.LatinIME

Android拼音输入法 com.android.inputmethod.pinyin/.PinyinIME

Google拼音输入法 com.google.android.inputmethod.pinyin/.PinyinIME

修改默认输入法

从网络上下载一个输入法

将它放到packages/apps/pinyin下面

编些mk文件

配置为系统APP

LOCAL_PATH := $(call my-dir)include $(CLEAR_VARS)# Module name should match apk name to be installedLOCAL_MODULE := pinyinLOCAL_MODULE_TAGS := optionalLOCAL_SRC_FILES := $(LOCAL_MODULE).apkLOCAL_MODULE_CLASS := APPSLOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)LOCAL_CERTIFICATE := PRESIGNEDinclude $(BUILD_PREBUILT)

在文件build/make/target/product/full_base.mk中添加APP

编辑文件frameworks/base/packages/SettingsProvider/res/values/defaults.xml

<!--add begin--><string name="config_default_input_method" translatable="false">com.android.inputmethod.pinyin/.PinyinIME</string><string name="def_enabled_input_methods" translatable="false">com.android.inputmethod.pinyin/.PinyinIME</string><!--add end-->

软件包名,参考前两节内容

在frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java中修改函数loadSecureSettings

内容

//add begin
loadStringSetting(stmt, Settings.Secure.DEFAULT_INPUT_METHOD,R.string.config_default_input_method);
loadStringSetting(stmt, Settings.Secure.ENABLED_INPUT_METHODS,R.string.def_enabled_input_methods);
//add end

系统相关信息修改

默认桌面图片:

frameworks/base/core/res/res/drawable-nodpi/default_wallpaper.png

版本号信息:

build/core/build_id.mk

修改蓝牙名字:

device/qcom/common/bdroid_buildcfg.h

查看所有的LOCAL_MODULE,并输出到1.log中:

find ./  -name Android.mk | xargs -i grep -l  optional  {} |  xargs -i grep -w  LOCAL_MODULE {} 2>&1|tee 1.log

修改版本相关信息

vendor/meig/vendorsetup.sh

vendor/meig/cit/etc/cit_common_config.xml

版本号:

这个对应TARGET_PRODUCT-TARGET_BUILD_VARIANT

 PLATFORM_VERSION BUILD_ID BUILD_NUMBER BUILD_VERSION_TAGS

在下面文件中使用

build/make/tools/buildinfo.sh

build/make/tools/buildinfo_common.sh

显示源码在system/core/init/property_service.cpp

其中如果要加字段,字段内容在build/core/Makefile增加,然后在build/make/tools/buildinfo.sh

加调用

设备名字

device/qcom/lito/lito.mk,修改PRODUCT_MODEL

App对应位置(镜像对应vendor和system)

相机:vendor/codeaurora/packages/apps/SnapdragonCamera

电话:vendor/codeaurora/commonsys/packages/apps/Dialer

短信:vendor/codeaurora/commonsys/packages/apps/Mms

音乐:vendor/codeaurora/commonsys/packages/apps/SnapdragonMusic

录音:vendor/codeaurora/commonsys/packages/apps/SoundRecorder

相关文章:

高通安卓12-安卓系统定制2

将开机动画打包到system.img里面 在目录device->qcom下面 有lito和qssi两个文件夹 现在通过QSSI的方式创建开机动画&#xff0c;LITO方式是一样的 首先加入自己的开机动画&#xff0c;制作过程看前面的部分 打开qssi.mk文件&#xff0c;在文件的最后加入内容 PRODUCT_CO…...

高中数学:数列-解数列不等式问题的常用放缩技巧(重难点)

一、放缩技巧 技巧1 例题 证明&#xff1a;Sn&#xff1c;1 解&#xff1a; 变形 解&#xff1a; 由于第一种情况&#xff0c;我们证明了Sn&#xff1c;1&#xff0c;n≥1&#xff0c;是从第一项就开始放缩的。 发现&#xff0c;无法精确到 3 4 \frac{3}{4} 43​ 这时&am…...

[图解]企业应用架构模式2024新译本讲解17-活动记录1

1 00:00:01,070 --> 00:00:04,180 下一个我们要说的就是 2 00:00:04,190 --> 00:00:06,740 活动记录模式了 3 00:00:07,640 --> 00:00:11,210 同样是数据源架构模式 4 00:00:12,300 --> 00:00:18,480 里面的一个&#xff0c;活动记录 5 00:00:18,490 --> 00…...

[C++深入] --- malloc/free和new/delete

1 new运算符的拓展 1.1 自由存储区与堆的概念 在C++中,内存区分为5个区,分别是堆、栈、自由存储区、全局/静态存储区、常量存储区。 自由存储区是C++基于new操作符的一个抽象概念,凡是通过new操作符进行内存申请,该内存即为自由存储区。 new操作符从自由存储区(free st…...

Spcok测试代码抛异常场景

测试代码抛异常场景 ‍ class ExceptionSpec extends Specification {def validateService new ValidateService()Unrolldef "验证UserInfo"() {when: "调用校验方法"validateService.validateUser(user)then: "捕获异常并设置需要验证的异常值&qu…...

【漏洞复现】脸爱云一脸通智慧管理平台 SystemMng 管理用户信息泄露漏洞(XVE-2024-9382)

0x01 产品简介 脸爱云一脸通智慧管理平台是一套功能强大&#xff0c;运行稳定&#xff0c;操作简单方便&#xff0c;用户界面美观&#xff0c;轻松统计数据的一脸通系统。无需安装&#xff0c;只需在后台配置即可在浏览器登录。 功能包括:系统管理中心、人员信息管理中心、设备…...

新手如何入门Web3?

一、什么是Web3&#xff1f; Web3是指下一代互联网&#xff0c;它基于区块链技术&#xff0c;致力于将各种在线活动变得更加安全、透明和去中心化。Web3是一个广义的概念&#xff0c;涵盖了包括数字货币、去中心化应用、智能合约等在内的多个方面。它的主要特点包括去中心化、…...

React.FC`<ChildComponentProps>`解释

代码场景 ParentComponent.tsx import React, { useState } from react; import ChildComponent from ./ChildComponent;function ParentComponent() {const [childData, setChildData] useState<string>();const handleChildData (data: string) > { // 可以直接…...

2024-06-24力扣每日一题

链接&#xff1a; 503. 下一个更大元素 II 题意 循环数组&#xff0c;找出每个元素的往后最近且大于它的元素 解&#xff1a; 今天没试暴力啊&#xff0c;大概率是过不了的 思路就是先找到最大的数&#xff0c;最大数的结果肯定是-1&#xff0c;然后倒着遍历数组&#xf…...

pyhon模块以及常用的第三方模块

import my_info as info print(info.name) info.show()from my_info import * print(name) show() pyhon中包的导入 import admin.my_admin as ad # 包名.模块名 admin是包名&#xff0c;my_admin是模块名print(ad.name) print(ad.info())from admin import my_admin as ad # …...

shell脚本—快速修改centos网络配置

shell-文本中自行修改想要的配置 #!/bin/bash# 网卡名称 eth"eth0"# IP 地址 ipaddr"192.168.1.100"# 子网掩码 netmask"255.255.255.0"# 网关 gateway"192.168.1.1"# 写入配置文件 echo "BOOTPROTOstatic" > /etc/sysc…...

线程池概念、线程池的不同创建方式、线程池的拒绝策略

文章目录 &#x1f490;线程池概念以及什么是工厂模式&#x1f490;标准库中的线程池&#x1f490;什么是工厂模式&#xff1f;&#x1f490;ThreadPoolExecutor&#x1f490;模拟实现线程池 &#x1f490;线程池概念以及什么是工厂模式 线程的诞生是因为&#xff0c;频繁的创…...

示例:WPF中如何绑定ContextMenu和Menu

一、目的&#xff1a;开发过程中&#xff0c;有些模块的右键ContextMenu菜单是需要动态显示的&#xff0c;既是根据不同条件显示不同的菜单&#xff0c;很多是通过代码去生成ContextMenu的MenuItem&#xff0c;本文介绍通过绑定的方式去加载ContextMenu&#xff0c;Menu菜单栏的…...

区块链小故事

大灰狼与小白兔 一天兔子妈妈出门了&#xff0c;在大门上安装了一个区块链的门把手&#xff0c;这个门把手只有兔子妈妈、小兔子、以及另一个客人都同意的时候&#xff0c;才会开门&#xff0c;有一天客人a的钥匙丢了&#xff0c;被大灰狼捡到了&#xff0c;大灰狼于是去开门&…...

Java | Leetcode Java题解之第167题两数之和II-输入有序数组

题目&#xff1a; 题解&#xff1a; class Solution {public int[] twoSum(int[] numbers, int target) {int low 0, high numbers.length - 1;while (low < high) {int sum numbers[low] numbers[high];if (sum target) {return new int[]{low 1, high 1};} else i…...

项目训练营第三天

项目训练营第三天 注册登录测试 前面我们编写了用户注册、登录的逻辑代码&#xff0c;每编写完一个功能模块之后&#xff0c;我们都要对该模块进行单元测试&#xff0c;来确保该功能模块的正确性。一般情况下使用快捷键Ctrl Shift Insert&#xff0c;鼠标左击类名可以自动生…...

计算机组成原理 | CPU子系统(1)基本概述

基本结构模型 运算与缓存部件 数据寄存部件 PSW不是很清楚 存储器是什么&#xff1f;属于那个结构里&#xff1f; 时序处理部件 cpu是大脑&#xff0c;控制器是神经元 ①通过硬件产生控制信号 ②通过软件产生控制信号 外频&#xff08;系统时钟信号&#xff09;&#xff0c;…...

无引擎游戏开发(2):最简游戏框架 | EasyX制作井字棋小游戏I

一、EasyX中的坐标系 不同于数理中的坐标系&#xff0c;EasyX中的y轴是竖直向下的 二、渲染缓冲区 之前的程序添加了这三个函数改善了绘图时闪烁的情况: 小球在"画布“上移动的过程就是我们在调用绘图函数&#xff0c;这个”画布“就是渲染缓冲区&#xff0c;先绘制的内…...

排书 IDA*

原题链接 题目描述 给定 n 本书&#xff0c;编号为 1∼n。 在初始状态下&#xff0c;书是任意排列的。在每一次操作中&#xff0c;可以抽取其中连续的一段&#xff0c;再把这段插入到其他某个位置。我们的目标状态是把书按照 1∼n 的顺序依次排列。求最少需要多少次操作。 输…...

playwright录制脚本原理

Paywright录制工具UI 在上一篇博客中介绍了如何从0构建一款具备录制UI测试的小工具。此篇博客将从源码层面上梳理playwright录制原理。当打开playwright vscode插件时&#xff0c;点击录制按钮&#xff0c;会开启一个新浏览器&#xff0c;如下图所示&#xff0c;在新开浏览器页…...

观察Taotoken按Token计费模式下的月度成本变化

&#x1f680; 告别海外账号与网络限制&#xff01;稳定直连全球优质大模型&#xff0c;限时半价接入中。 &#x1f449; 点击领取海量免费额度 观察Taotoken按Token计费模式下的月度成本变化 在项目开发中&#xff0c;尤其是涉及大模型API调用的场景&#xff0c;成本控制是一…...

Web安全入门避坑指南:用Pikachu靶场搞懂文件上传的3种Check方式(前端、MIME、getimagesize)

Web安全实战&#xff1a;Pikachu靶场文件上传漏洞攻防全解析 当你第一次接触Web安全时&#xff0c;文件上传功能可能是最令人兴奋又最危险的漏洞之一。想象一下&#xff0c;攻击者仅通过一个看似无害的上传表单就能完全控制你的服务器——这不是电影情节&#xff0c;而是每天都…...

从零到一:在Linux上构建USRP与GNU Radio的完整信号处理工坊

1. 环境准备&#xff1a;打造你的信号处理工坊基础 搭建信号处理工坊就像装修新房&#xff0c;得先打好地基。我强烈推荐使用Ubuntu 20.04 LTS系统&#xff0c;这个版本不仅稳定&#xff0c;而且社区支持完善。记得第一次尝试时用了最新版系统&#xff0c;结果各种依赖冲突让我…...

如何快速掌握DevPod:开源远程开发环境的完整指南

如何快速掌握DevPod&#xff1a;开源远程开发环境的完整指南 【免费下载链接】devpod Codespaces but open-source, client-only and unopinionated: Works with any IDE and lets you use any cloud, kubernetes or just localhost docker. 项目地址: https://gitcode.com/g…...

Formal验证签核深度解析:从COI、Proof Core到Mutation,你的覆盖率真的够了吗?

Formal验证签核深度解析&#xff1a;从COI、Proof Core到Mutation&#xff0c;你的覆盖率真的够了吗&#xff1f; 在芯片设计领域&#xff0c;Formal验证已经成为确保设计正确性的重要手段。不同于传统的仿真验证&#xff0c;Formal验证通过数学方法穷举所有可能的输入组合&…...

告别手动刷新!为你的Qt串口调试助手添加‘设备热插拔’自动感知功能

告别手动刷新&#xff01;为你的Qt串口调试助手添加‘设备热插拔’自动感知功能 在嵌入式开发和硬件调试过程中&#xff0c;串口工具是不可或缺的得力助手。然而&#xff0c;大多数基础串口调试软件都存在一个令人困扰的痛点——当设备突然断开或新设备接入时&#xff0c;用户不…...

《在自定义数据集上训练和运行 YOLOv8 模型的全面指南》

原文&#xff1a;towardsdatascience.com/the-comprehensive-guide-to-training-and-running-yolov8-models-on-custom-datasets-22946da259c3?sourcecollection_archive---------2-----------------------#2024-10-02 现在&#xff0c;通过 Python、命令行或 Google Colab 在…...

从零构建轻量级爬虫框架:模块化设计与异步实现详解

1. 项目概述&#xff1a;从零构建一个轻量级数据爬取框架最近在做一个需要从多个公开数据源定期抓取结构化信息的小项目&#xff0c;一开始图省事&#xff0c;直接上requests加BeautifulSoup写脚本。但随着数据源增加到五六个&#xff0c;每个源的页面结构、反爬策略、数据清洗…...

python在生活中的实际应用

1.Python的简洁语法适合教学编程基础。科研中&#xff0c;NumPy和SciPy用于数值模拟&#xff0c;SymPy进行符号计算&#xff0c;例如推导物理公式或分析实验数据曲线。2.Pygame库允许快速开发2D游戏或交互式应用。教育领域常用Python编写数学模拟程序&#xff08;如分形生成&am…...

CircuitPython嵌入式开发实战:内存管理与无线连接优化指南

1. 项目概述与核心价值如果你和我一样&#xff0c;从传统的Arduino C/C开发转向更友好的微控制器编程&#xff0c;那么CircuitPython绝对是一个让人眼前一亮的发现。它把Python的简洁和强大带到了像Adafruit Feather、Raspberry Pi Pico这样的嵌入式硬件上&#xff0c;让快速原…...