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

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 属性修改修改点一&#xff1a;build\core\product_config.mk修改点二&#xff1a;build\make\core\main.mk修改是否成功&#xff0c;adb 验证 配置部分系统app handheld_product.mk配置系统属性、第三方应…...

论文笔记:Treat Visual Tokens as Text? But Your MLLM Only Needs Fewer Efforts to See

2024 10月的arxiv 1 主要idea 针对多模态大模型&#xff08;如LLaVA&#xff09;&#xff0c;提出了一系列高效的剪枝策略 在显著降低计算开销&#xff08;多达 88%&#xff09;的同时&#xff0c;保持了模型在多模态任务中的性能表现 2 目前的问题 与文本 token 相比&…...

软考高级架构 —— 10.6 大型网站系统架构演化实例 + 软件架构维护

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

2024美赛数学建模C题:网球比赛中的动量,用马尔可夫链求解!详细分析

文末获取历年美赛数学建模论文&#xff0c;交流思路模型 接下来讲解马尔可夫链在2024年C题中的运用 1. 马尔科夫链的基本原理 马尔科夫链是描述随机过程的一种数学模型&#xff0c;其核心特征是无记忆性。 简单来说&#xff0c;系统在某一时刻的状态只取决于当前状态&#x…...

23种设计模式之状态模式

目录 1. 简介2. 代码2.1 State &#xff08;定义抽象状态接口&#xff09;2.2 StartState &#xff08;实现具体状态类&#xff09;2.3 EndState &#xff08;实现具体状态类&#xff09;2.4 Context &#xff08;定义上下文类&#xff09;2.5 Test &#xff08;测试类&#xf…...

Elasticsearch Serverless 中的数据流自动分片

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

YOLOv10改进,YOLOv10添加U-Netv2分割网络中SDI信息融合模块+GSConv卷积,助力小目标

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

xshell连接虚拟机,更换网络模式:NAT->桥接模式

NAT模式&#xff1a;虚拟机通过宿主机的网络访问外网。优点在于不需要手动配置IP地址和子网掩码&#xff0c;只要宿主机能够访问网络&#xff0c;虚拟机也能够访问。对外部网络而言&#xff0c;它看到的是宿主机的IP地址&#xff0c;而不是虚拟机的IP。但是&#xff0c;宿主机可…...

sql的where条件中使用case when

场景&#xff1a; 1、使用oracle数据库&#xff0c;数据类型为number&#xff0c;需要正无穷值。 2、数据表中有两个金额值&#xff0c;最大值和最小值&#xff0c; 如10~20&#xff0c; 30 ~40&#xff0c;40以上&#xff0c;数据库中这样设计 id name min max 1 j 10 20 2 …...

MacOS 上以源码形式安装 MySQL 5.7

以下是在 macOS 上从源码安装 MySQL 5.7 的步骤&#xff1a; 前置条件 安装 Homebrew&#xff1a;如果你还没有安装 Homebrew&#xff0c;可以在终端中运行以下命令进行安装&#xff1a; /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install…...

MySQL 事务隔离级别详解

一、事务的基本概念 &#xff08;一&#xff09;什么是事务 事务是一个逻辑工作单元&#xff0c;由一组数据库操作组成。这些操作要么全部成功执行&#xff0c;要么全部回滚&#xff0c;以确保数据库的一致性。事务具有以下四个特性&#xff0c;通常被称为 ACID 特性&#xff…...

C语言——高精度问题

1、高精度计算的本质&#xff1a;竖式计算&#xff1b; 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&#xff1a;AI 智能生成 PPT 的开源项目 在现代办公和学习中&#xff0c;PPT&#xff08;PowerPoint Presentation&#xff09;是一种非常重要的展示工具。然而&#xff0c;制作一份高质量的PPT往往需要花费大量的时间和精力。为了解决这一问题&#xff0c;aippt项目应运…...

【Qt之·类QSettings·参数保存】

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

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&#xff08;数据包过滤&#xff09;定义netfilter分析内容 防火墙无法完成的任务netfilter策略管理工具netfilter的5类hook函数防火墙规则策略匹配原则iptablesiptables流量处理动作iptables表5种规则表 安装iptablesiptables策略文件 ipta…...

Edge SCDN深度解析,边缘安全加速的创新实践

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

solidworks常见问题已解决

solidworks常见问题已解决 问题1&#xff1a;step总是提示默认模板无效。问题2&#xff1a;异型孔向导”时出现了“找不到标准数据库。问题3&#xff1a;找不到CalloutForm.txt文件&#xff0c;标注将由几何体定义。问题5&#xff1a;工程图显示文件损坏不能保存。问题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.主机进入维护模式&#xff0c;再次加入…...

在 Ubuntu 中 make 是否是系统自带的?怎么样查看Linux系统中是否有make?

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

js:我要在template中v-for循环遍历这个centrerTopdata,我希望自循环前面三个就可以了怎么写

问&#xff1a; 我按在要在template中v-for循环遍历这个centrerTopdata&#xff0c;我希望自循环前面三个就可以了怎么写&#xff1f; 回答&#xff1a; 问&#xff1a; <div v-for"(item, index) in centrerTopdata.slice(0, 3)" :key"index"> d…...

前端使用 Cursor 的最佳助手 - PromptCoder

前端使用 Cursor 的最佳助手 - PromptCoder 你是否正在使用 Cursor 进行前端开发&#xff0c;却苦于繁琐的代码生成和原型图的还原&#xff1f;你是否渴望一个更高效、更智能的工具来提升你的开发效率&#xff1f;那么&#xff0c;你一定不能错过 PromptCoder&#xff01; Pr…...

深入了解 Spring IOC,AOP 两大核心思想

文章目录 一、Spring 基础 - 控制反转&#xff08;IOC&#xff09;1.1. 引入1.2. 如何理解 IOCSpring Bean 是什么&#xff1f;IoC 是什么&#xff1f;IoC 能做什么&#xff1f;IoC 和 DI 是什么关系&#xff1f; 1.3. IoC 配置的三种方式xml 配置Java 配置注解配置 1.4. 依赖注…...

QT从入门到精通——Qlabel介绍与使用

1. QT介绍——代码测试 Qt 是一个跨平台的应用程序开发框架&#xff0c;广泛用于开发图形用户界面&#xff08;GUI&#xff09;应用程序&#xff0c;也支持非图形应用程序的开发。Qt 提供了一套工具和库&#xff0c;使得开发者能够高效地构建高性能、可移植的应用程序。以下是…...

华为HarmonyOS NEXT 原生应用开发:鸿蒙中组件的组件状态管理、组件通信 组件状态管理小案例(好友录)!

文章目录 组件状态管理一、State装饰器1. State装饰器的特点2. State装饰器的使用 二、Prop装饰器&#xff08;父子单向通信&#xff09;1. Prop装饰器的特点2. Prop装饰器的使用示例 三、Link装饰器&#xff08;父子双向通信&#xff09;1. Link装饰器的特点3. Link使用示例 四…...

node.js 环境配置

node_global下创建node_modules 系统变量 新建NODE_Path -> node_modules的路径 用户变量 编辑Path 编辑…\npm为 node_modules的路径 系统变量 Path 新建 %NODE_PATH% CMD测试 npm install express -g 报错 npm error code ETIMEDOUT源的连接超时&#xff0c;没用了要换源 …...

高并发数据采集场景下Nginx代理Netty服务的优化配置

高并发数据采集场景下&#xff0c;要优化Nginx反向代理来支持多个Netty数采服务并保证稳定的性能&#xff0c;可以从以下几个方面对Nginx进行优化配置。 直连模式&#xff08;直接通过 Nginx 处理与后端 Netty 服务的连接&#xff0c;而不作为反向代理&#xff09;&#xff0c;…...

【C++算法】40.模拟_N 字形变换

文章目录 题目链接&#xff1a;题目描述&#xff1a;解法C 算法代码&#xff1a; 题目链接&#xff1a; 6. N 字形变换 题目描述&#xff1a; 解法 解法一&#xff1a;模拟 a,b,c,d,e,f,g...... n4 弄个矩阵放进去&#xff0c;最后从左往右读取。 解法二&#xff1a;模拟优化-…...

【云计算】虚拟化技术

目录 1. 虚拟化技术在云计算中的那些地方发挥了关键作用&#xff1f; 2. 比较VMare&#xff0c;Xen等虚拟化产品的关键技术&#xff0c;以及对云计算技术提供的支持&#xff1f; 3. 服务器虚拟化&#xff0c;存储虚拟化和网络虚拟化都有哪些实现方式&#xff1f; 4. 讨论桌面…...

手机租赁系统开发指南一站式服务流程解析

内容概要 手机租赁系统的开发是一个复杂但有趣的过程&#xff0c;像搭建乐高一样&#xff0c;只要找到合适的模块&#xff0c;就能打造出一个宾至如归的租赁平台。在这部分&#xff0c;我们将对开发流程的整体结构进行简要概述&#xff0c;并指出每个环节的重要性。 首先&…...

做搜狗手机网站快速排/指数平滑法

1.配置Console口密码Router(config)#line console 0Router(config-line)#password 123Router(config-line)#login完成配置后&#xff0c;查看show runline con 0password 123loginline vty 0 4login2.配置特权模式密码Router(config)#enablepassword 123 明文密码Router(config…...

网站充值怎么做分录/佛山百度网站快速排名

<script type"text/html" id"state"> {{# if (d.statu"在线") { }} //{{# }} 这个之间写if判断条件在线{{#} else{ }}下线{{# }}}</script>...

现在c 做网站用什么/专业的网站优化公司

受不了&#xff0c;asa和思科路由器 系统命令不一致&#xff0c;这一篇专门来写asa。先看下版本asa825# show versionCisco Adaptive Security Appliance Software Version 8.2(5)Device Manager Version 6.4(9)asa825# show flash:--#-- --length-- -----date/time------ p…...

判断网站模板版本/常用的搜索引擎

在寒冷的冬天&#xff0c;很多车主在开车的时候会出现一个问题&#xff0c;那就是凉车启动困难这个问题&#xff0c;具体就是打不着火&#xff0c;必须得打几下才能启动&#xff0c;或者在打火的时候&#xff0c;发动机运转了几个行程之后才能打着火&#xff0c;而且打着火以后…...

宁波seo博客/优化的定义

目录 1.安装NVIDIA驱动 1.1下载驱动 1.2卸载原来的 1.3禁用nouveau驱动 1.4禁用X-Window服务 1.5命令行安装 1.6测试 2.安装cuda 2.1下载cuda 2.2安装 2.3环境变量配置 2.4测试 3.安装cudnn 3.1下载cudnn 3.2安装 3.3下载runtime library,developer library,cod…...

做详情页到那个网站找模特素材/免费的html网站

说明&#xff1a;对于基于 Windows 系统面板有两种组态备份的选项&#xff0c;而不必获得 ProTool 或 WinCC flexible 的原程序&#xff1a;A. 使用 ProSave 备份/恢复B. 使用存储卡备份/恢复如果想对回传的文件进行编辑&#xff0c;那么必须在 ProTool 或 WinCC flexible 中使…...