MTK 配置文件梳理
文章目录
- MTK 日常配置总结
- 屏幕默认横竖屏显示
- ro.build.characteristics 属性修改
- 修改点一:build\core\product_config.mk
- 修改点二:build\make\core\main.mk
- 修改是否成功,adb 验证
- 配置部分系统app handheld_product.mk
- 配置系统属性、第三方应用、定制系统属性、初始化配置等 device.mtk
- 配置应用
- 配置自定义属性 system properties
- 配置启动初始化文件
- 配置开机动画文件
- 输入法默认内置配置修改 config.xml defaults.xml
- 开机动画修改
- gms 相关
- gms 目录 \vendor\google
- gms 配置mk 文件
- 配置app
- 开机向导配置
- init 初始化文件 init.rc
- 修改屏幕密度
MTK 日常配置总结
当作开发笔记,常用。不同平台不同Android版本配置文件位置可能不一样,但是配置逻辑基本一致,字段可能都一致。不断更新,方便自己熟悉并实际解决项目问题。
屏幕默认横竖屏显示
修改文件
\device\mediateksample\k69v1_64_k419\ProjectConfig.mk
\kernel-4.19\arch\arm64\configs\k69v1_64_k419_defconfig.xml
\vendor\mediatek\proprietary\bootable\bootloader\lk\project\k69v1_64_k419.mk 具体修改:
ProjectConfig.mk
MTK_LCM_PHYSICAL_ROTATION = 0k65v1_64_bsp_defconfig
CONFIG_MTK_LCM_PHYSICAL_ROTATION="0"k65v1_64_bsp.mk
MTK_LCM_PHYSICAL_ROTATION = 270
可以参考之前横竖屏切换的文章 MTK横竖屏切换配置
ro.build.characteristics 属性修改
修改点一:build\core\product_config.mk
TARGET_AAPT_CHARACTERISTICS 宏定义 直接赋值 device #ifndef PRODUCT_CHARACTERISTICS
# TARGET_AAPT_CHARACTERISTICS := default
#else
# TARGET_AAPT_CHARACTERISTICS := $(PRODUCT_CHARACTERISTICS)
#endif
TARGET_AAPT_CHARACTERISTICS := default
修改点二:build\make\core\main.mk
对 ro.build.characteristics 直接赋值为 device,不再使用 TARGET_AAPT_CHARACTERISTICS 宏定义
#ADDITIONAL_PRODUCT_PROPERTIES += ro.build.characteristics=$(TARGET_AAPT_CHARACTERISTICS)
ADDITIONAL_PRODUCT_PROPERTIES += ro.build.characteristics=device
修改是否成功,adb 验证
通过adb 命令来查看检查:
C:\Users\Administrator>adb shell
k65v1_64_bsp:/ $ getprop ro.build.characteristics
device修改前的属性值是default ,修改后的值为device
配置部分系统app handheld_product.mk
路径:build\make\target\product\handheld_product.mk
需求相关:系统相关的部分app 配置编译环境
一般偏向于系统应用,应用位置:\vendor\mediatek\proprietary\packages\apps# /product packages
PRODUCT_PACKAGES += \Calendar \Camera2 \DeskClock \Gallery2 \LatinIME \Music \OneTimeInitializer \preinstalled-packages-platform-handheld-product.xml \SettingsIntelligence \frameworks-base-overlaysPRODUCT_PACKAGES_DEBUG += \frameworks-base-overlays-debug
配置系统属性、第三方应用、定制系统属性、初始化配置等 device.mtk
路径:device\mediatek\system\common\device.mtk
配置应用
PRODUCT_PACKAGES += zxappstore
PRODUCT_PACKAGES += zxlauncher
PRODUCT_PACKAGES += InoSoundRecorder
PRODUCT_PACKAGES += fisetp
PRODUCT_PACKAGES += tffwb
PRODUCT_PACKAGES += usbcamera第三方防止目录: vendor\mediatek\proprietary\packages\3rd-party
举例 某个apk 目录配置
Android.mk 内容配置如下
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
# Module name should match apk name to be installed
LOCAL_MODULE := FiseOS
LOCAL_MODULE_TAGS := optional
LOCAL_SRC_FILES := $(LOCAL_MODULE).apk
LOCAL_MODULE_CLASS := APPS
LOCAL_MODULE_SUFFIX := $(COMMON_ANDROID_PACKAGE_SUFFIX)
LOCAL_CERTIFICATE := platform
##LOCAL_PROPRIETARY_MODULE := true
LOCAL_ENFORCE_USES_LIBRARIES := false
LOCAL_DEX_PREOPT := false
include $(BUILD_PREBUILT)
配置自定义属性 system properties
# Add for Fise support system properties
PRODUCT_SYSTEM_DEFAULT_PROPERTIES += \persist.fise.statusbar=1 \persist.fise.g.sensors=1 \persist.fise.landscape.orientation=1 \persist.fise.opposite.orientation=0 \ro.zeasn.devicetype=fisezn01 \persist.fise.current.volume=1 \persist.fise.wallpaper.on=1 \persist.fise.version=wifi \persist.fise.show.batteryicon=1 \persist.fise.screenshot.icon=1 \persist.fise.backlight.polarity=1 \
配置启动初始化文件
# system usb rc
PRODUCT_COPY_FILES += $(LOCAL_PATH)/init.usb.rc:$(TARGET_COPY_OUT_SYSTEM_EXT)/etc/init/hw/init.usb.rc
配置开机动画文件
# Add for Fise bootanimation
PRODUCT_COPY_FILES += $(LOCAL_PATH)/bootanimation.zip:system/media/bootanimation.zip
输入法默认内置配置修改 config.xml defaults.xml
路径:frameworks\base\core\res\res\values\config.xml<string-array name="config_disabledUntilUsedPreinstalledImes" translatable="false"><item>com.iflytek.inputmethod</item></string-array>Android 5.1设置默认输入法 参考文档:https://blog.csdn.net/man_embedded/article/details/78541210路径:\vendor\mediatek\proprietary\packages\apps\SettingsProvider\res\values\defaults.xml<!-- Default com.sohu.inputmethod.sogou/.SogouIME com.android.inputmethod.latin/.LatinIME --><string name="sogou_input_method">com.iflytek.inputmethod/.FlyIME</string><string name="enable_sogou_input_method">com.iflytek.inputmethod/.FlyIME</string>
开机动画修改
修改路径:vendor\mediatek\proprietary\bootable\bootloader\lk\dev\logo\fhddevice\mediatek\system\common\bootanimation.zip
替换fhd文件里面的 Uboot 和 Kernel logo,fhd目录
fhd_kernel.bmp fhd_uboot.bmp
参考资料: MTK 更换Uboot Logo Kernel Logo 开机动画:
gms 相关
gms 目录 \vendor\google
- apps apps_go :两个版本的软件包
- etc 配置文件目录
- overlay overlay 目录,涉及到覆盖,就需要在这里修改了。
gms 配置mk 文件
路径:\vendor\google\products\gms.mk
附件地址,gms.mk 源文件可查看
配置app
这里可以发现 开机向导 SetupWizard 就是配置在这里的,其它都是谷歌相关的软件包
# GMS mandatory core packages
GMS_PRODUCT_PACKAGES += \AndroidPlatformServices \ConfigUpdater \FamilyLinkParentalControls \GoogleExtShared \GoogleFeedback \GoogleLocationHistory \GoogleOneTimeInitializer \GooglePackageInstaller \GooglePartnerSetup \GooglePrintRecommendationService \GoogleRestore \GoogleServicesFramework \GoogleCalendarSyncAdapter \SpeechServicesByGoogle \GmsCore \Phonesky \SetupWizard \WebViewGoogle \Wellbeing
开机向导配置
PRODUCT_PRODUCT_PROPERTIES += \ro.setupwizard.rotation_locked=false \setupwizard.theme=glif_v3_light \ro.opa.eligible_device=true \ro.com.google.gmsversion=$(GMS_PACKAGE_VERSION_ID)ro.setupwizard.rotation_locked开机向导是否固定锁死屏幕,默认竖屏方向。 true:锁死,开机向导永远竖屏 false:不锁死,开机向导随重力感应方向。
init 初始化文件 init.rc
路径:system/core/rootdir/init.rc on property:sys.connect.adb.wiress=1setprop service.adb.tcp.port 5555stop adbdstart adbd 如果需要网线进行adb 直连 ,那么就不要判断条件,直接配置打开端口即可:setprop service.adb.tcp.port 5555
免USB,WIFI adb 直连
修改屏幕密度
路径:device\mediateksample\k69v1_64_k419\device.mk
参考 修改系统显示大小修改系统屏幕密度
device\mediateksample\k69v1_64_k419\device.mk
修改属性值:
PRODUCT_PROPERTY_OVERRIDES += ro.sf.lcd_density=240
相关文章:

MTK 配置文件梳理
文章目录 MTK 日常配置总结屏幕默认横竖屏显示ro.build.characteristics 属性修改修改点一:build\core\product_config.mk修改点二:build\make\core\main.mk修改是否成功,adb 验证 配置部分系统app handheld_product.mk配置系统属性、第三方应…...

论文笔记:Treat Visual Tokens as Text? But Your MLLM Only Needs Fewer Efforts to See
2024 10月的arxiv 1 主要idea 针对多模态大模型(如LLaVA),提出了一系列高效的剪枝策略 在显著降低计算开销(多达 88%)的同时,保持了模型在多模态任务中的性能表现 2 目前的问题 与文本 token 相比&…...

软考高级架构 —— 10.6 大型网站系统架构演化实例 + 软件架构维护
10.6 大型网站系统架构演化实例 大型网站的技术挑战主要来自于庞大的用户,高并发的访问和海量的数据,主要解决这类问题。 1. 单体架构 特点: 所有资源(应用程序、数据库、文件)集中在一台服务器上。适用场景: 小型网站&am…...

2024美赛数学建模C题:网球比赛中的动量,用马尔可夫链求解!详细分析
文末获取历年美赛数学建模论文,交流思路模型 接下来讲解马尔可夫链在2024年C题中的运用 1. 马尔科夫链的基本原理 马尔科夫链是描述随机过程的一种数学模型,其核心特征是无记忆性。 简单来说,系统在某一时刻的状态只取决于当前状态&#x…...
23种设计模式之状态模式
目录 1. 简介2. 代码2.1 State (定义抽象状态接口)2.2 StartState (实现具体状态类)2.3 EndState (实现具体状态类)2.4 Context (定义上下文类)2.5 Test (测试类…...

Elasticsearch Serverless 中的数据流自动分片
作者:来自 Elastic Andrei Dan 在 Elastic Cloud Serverless 中,我们根据索引负载自动为数据流配置最佳分片数量,从而使用户无需摆弄分片。 传统上,用户会更改数据流的分片配置,以处理各种工作负载并充分利用可用资源。…...

YOLOv10改进,YOLOv10添加U-Netv2分割网络中SDI信息融合模块+GSConv卷积,助力小目标
理论介绍 完成本篇需要参考以下两篇文章,并已添加到YOLOv10代码中 YOLOv10改进,YOLOv10添加U-Netv2分割网络中SDI信息融合模块,助力小目标检测YOLOv10改进,YOLOv10添加GSConv卷积+Slim-neck,助力小目标检测,二次创新C2f结构下文都是手把手教程,跟着操作即可添加成功 目…...

xshell连接虚拟机,更换网络模式:NAT->桥接模式
NAT模式:虚拟机通过宿主机的网络访问外网。优点在于不需要手动配置IP地址和子网掩码,只要宿主机能够访问网络,虚拟机也能够访问。对外部网络而言,它看到的是宿主机的IP地址,而不是虚拟机的IP。但是,宿主机可…...
sql的where条件中使用case when
场景: 1、使用oracle数据库,数据类型为number,需要正无穷值。 2、数据表中有两个金额值,最大值和最小值, 如10~20, 30 ~40,40以上,数据库中这样设计 id name min max 1 j 10 20 2 …...
MacOS 上以源码形式安装 MySQL 5.7
以下是在 macOS 上从源码安装 MySQL 5.7 的步骤: 前置条件 安装 Homebrew:如果你还没有安装 Homebrew,可以在终端中运行以下命令进行安装: /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install…...
MySQL 事务隔离级别详解
一、事务的基本概念 (一)什么是事务 事务是一个逻辑工作单元,由一组数据库操作组成。这些操作要么全部成功执行,要么全部回滚,以确保数据库的一致性。事务具有以下四个特性,通常被称为 ACID 特性ÿ…...

C语言——高精度问题
1、高精度计算的本质:竖式计算; 2、适用解决超出long long int 范围的大整数计算 #include<stdio.h> #include<string.h> #define N 100 char str1[N4]{0},str2[N4]{0}; int arr1[N4]{0},arr2[N4]{0}; int ans[N5]{0};//将字符串转化成整型…...

aippt:AI 智能生成 PPT 的开源项目
aippt:AI 智能生成 PPT 的开源项目 在现代办公和学习中,PPT(PowerPoint Presentation)是一种非常重要的展示工具。然而,制作一份高质量的PPT往往需要花费大量的时间和精力。为了解决这一问题,aippt项目应运…...

【Qt之·类QSettings·参数保存】
系列文章目录 文章目录 前言一、概述1.1 QSetting是什么1.2 为什么学习QSetting是重要的 二、不同存储位置的优缺点三、 QSetting的高级用法四、实例演示总结 前言 在当今的应用程序开发中,设置管理是一个至关重要的方面。应用程序的设置包括用户偏好、配置选项和其…...

location重定向和nginx代理
文章目录 1 location重定向1.1 概述1.2 rewrite跳转1.3 用例1.4 实验1.4.1 基于域名的跳转1.4.2 基于ip的跳转1.4.3 基于后缀名的跳转 2 nginx的代理2.1 nginx内置变量2.2 正向代理2.2.1 固定正向代理2.2.2 自动代理 2.3 反向代理2.3.1 负载均衡的算法2.3.2 负载均衡的特点2.3.…...

iptables详解
华子目录 什么是防火墙分类netfilter(数据包过滤)定义netfilter分析内容 防火墙无法完成的任务netfilter策略管理工具netfilter的5类hook函数防火墙规则策略匹配原则iptablesiptables流量处理动作iptables表5种规则表 安装iptablesiptables策略文件 ipta…...

Edge SCDN深度解析,边缘安全加速的创新实践
边缘安全加速(Edge Secure Content Delivery Network,SCDN)是酷盾安全推出的边缘集分布式 DDoS 防护、CC 防护、WAF 防护、BOT 行为分析为一体的安全加速解决方案。通过边缘缓存技术,智能调度使用户就近获取所需内容,为…...

solidworks常见问题已解决
solidworks常见问题已解决 问题1:step总是提示默认模板无效。问题2:异型孔向导”时出现了“找不到标准数据库。问题3:找不到CalloutForm.txt文件,标注将由几何体定义。问题5:工程图显示文件损坏不能保存。问题6&#x…...

vCenter开启HA报错
昨天给客户开启vCenter开启HA功能报错,报错的内容比较多 博通官方给出解决办法 https://knowledge.broadcom.com/external/article/318929/error-vsphere-ha-agent-cannot-be-correct.html 常规的解决办法 1.关闭集群HA,再次开启HA 2.主机进入维护模式,再次加入…...

在 Ubuntu 中 make 是否是系统自带的?怎么样查看Linux系统中是否有make?
make 命令 并不是所有 Ubuntu 系统都默认安装的,但它通常是开发工具链的一部分,许多开发者会在安装系统后配置它。make 是一个非常重要的构建工具,用于自动化编译和构建过程,特别是在编译软件或内核时。 make 的来源 make 是一个…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
SkyWalking 10.2.0 SWCK 配置过程
SkyWalking 10.2.0 & SWCK 配置过程 skywalking oap-server & ui 使用Docker安装在K8S集群以外,K8S集群中的微服务使用initContainer按命名空间将skywalking-java-agent注入到业务容器中。 SWCK有整套的解决方案,全安装在K8S群集中。 具体可参…...
【Linux】shell脚本忽略错误继续执行
在 shell 脚本中,可以使用 set -e 命令来设置脚本在遇到错误时退出执行。如果你希望脚本忽略错误并继续执行,可以在脚本开头添加 set e 命令来取消该设置。 举例1 #!/bin/bash# 取消 set -e 的设置 set e# 执行命令,并忽略错误 rm somefile…...

智慧医疗能源事业线深度画像分析(上)
引言 医疗行业作为现代社会的关键基础设施,其能源消耗与环境影响正日益受到关注。随着全球"双碳"目标的推进和可持续发展理念的深入,智慧医疗能源事业线应运而生,致力于通过创新技术与管理方案,重构医疗领域的能源使用模式。这一事业线融合了能源管理、可持续发…...
论文解读:交大港大上海AI Lab开源论文 | 宇树机器人多姿态起立控制强化学习框架(二)
HoST框架核心实现方法详解 - 论文深度解读(第二部分) 《Learning Humanoid Standing-up Control across Diverse Postures》 系列文章: 论文深度解读 + 算法与代码分析(二) 作者机构: 上海AI Lab, 上海交通大学, 香港大学, 浙江大学, 香港中文大学 论文主题: 人形机器人…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
服务器硬防的应用场景都有哪些?
服务器硬防是指一种通过硬件设备层面的安全措施来防御服务器系统受到网络攻击的方式,避免服务器受到各种恶意攻击和网络威胁,那么,服务器硬防通常都会应用在哪些场景当中呢? 硬防服务器中一般会配备入侵检测系统和预防系统&#x…...
DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”
目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

DingDing机器人群消息推送
文章目录 1 新建机器人2 API文档说明3 代码编写 1 新建机器人 点击群设置 下滑到群管理的机器人,点击进入 添加机器人 选择自定义Webhook服务 点击添加 设置安全设置,详见说明文档 成功后,记录Webhook 2 API文档说明 点击设置说明 查看自…...