【Android】工厂模式中 字体大小/显示重叠/显示不完整 相关 问题分析与解决

工厂模式中 字体大小/显示重叠/显示不完整 相关 问题分析与解决

    • 1-Factory Mode是什么?
    • 2-Factory Mode的显示界面
    • 3-找到factory模块中对应设置字体尺寸的代码
    • 4-分析与修改代码
  • Tips

1-Factory Mode是什么?

在Android手机中,Factory Mode(工厂模式)是一种隐藏的系统调试模式,通常用于手机制造商或技术人员进行设备测试、调试和校准。
Factory Mode 提供了一系列的测试和校准选项,用来检查手机硬件功能是否正常、进行软件版本信息查看、执行一些特殊的测试操作等。
一般情况下,Factory Mode 是通过特殊的按键组合或者拨号码来进入的,而且通常是被隐藏起来的,普通用户不太容易访问到。
在 Factory Mode 中,用户可以进行一些高级的测试和设置,比如检查手机的传感器、显示屏、触摸屏、音频、摄像头等硬件功能是否正常,
或者执行一些软件测试,如刷机、清除缓存等操作。
需要注意的是,在 Factory Mode 中进行操作可能会对手机造成一些影响,因此普通用户最好不要随意进入 Factory Mode 进行操作。

2-Factory Mode的显示界面

Factory Mode(工厂模式)的显示界面通常十分简洁,简单的列表,文字,方便测试人员直接测试,但是由于不同项目、不同机器的原因,
工厂模式的界面中的字体大小需要适配不同的屏幕分辨率。当发现工厂模式中,字体大小异常,有文字重叠现象,或是导致文字显示不完整 
都可能与之字体尺寸(字符宽高)不适配 有关。

3-找到factory模块中对应设置字体尺寸的代码

在Android源码中,由于不同供应商的工厂模式需求各方面不一样,代码可能有各种差异。
但是对于工厂模式中 文本的 字体尺寸 的适配 调整 应当在下面路径对于文件

  • \vendor\供应商名称\proprietary\custom\项目名称\factory\inc\cust_font.h
    如图:在这里插入图片描述
    但是要注意:

一来在\proprietary\custom\是否有多个项目,要选择所编译的版本对应的项目。
二来在cust_font.h中有多个屏幕分辨率的适配的字体尺寸,要找到正确有效的位置来修改

4-分析与修改代码

酱紫,我第一时间也不知道具体修改哪个位置的 字符宽高 (CHAR_WIDTH、 CHAR_HEIGHT)
即不知道满足哪一个FEATURE_FTM_FONT_XX或者某一个条件,也不知道这些个条件对应的屏幕分辨率是多少
也就是说我无法一一将适配的参数对上,来修改,但是我需要定位到正确有效的位置。
此时有两个思路:

  • 参考其他项目这个板块是否有相似修改,如何修改(前提是机器得是同一屏幕分辨率)(很明显我没找到暂时)
  • 那么直接暴力排除法也肯定很费时,所以直接在每个条件语句内增加报错(修改代码使之有语法或逻辑错误)
    比如:我这样:
    在这里插入图片描述
    这样修改的前提是,你也得确定这个代码文件是被编译进去了的,如果不确定,只需随便在代码开头增加一个报错验证即可。
    这样修改后,保存,编译,报错如下:
    在这里插入图片描述
    很明显可见就是第54行代码走入报错了,走入的54行代码所处的条件即是该项目屏幕分辨率与字体尺寸所适配的条件。
    然后进入下一步:修改条件内的 字符宽高
    如下:
    在这里插入图片描述
    然后保存,编译,验证效果,
    如果修改后的字体大小跟预期还是有一定出入,可以再进行调整。

Tips

至此,大致解决了,但是过程中有一些需要注意,也需要记录的:
1:查看屏幕物理尺寸:(使用adb命令在终端,前提是adb root 、adb devices 是没问题的)
例如:在这里插入图片描述
2:进入工厂模式的方式:在我修改的这个平台项目上是 在关机的时候,同时长按电源键与另一个键 来进入。
不同的供应商或不同项目可能这个方式与按键略有不同。
3:在分析思路上就是要多对比,找最直接有效的方式尝试。

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

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

相关文章

Seata 2.x 系列【8】Spring Cloud 集成客户端

有道无术,术尚可求,有术无道,止于术。 本系列Seata 版本 2.0.0 本系列Spring Boot 版本 3.2.0 本系列Spring Cloud 版本 2023.0.0 源码地址:https://gitee.com/pearl-organization/study-seata-demo 文章目录 1. 前言2. 问题演…

零基础如何学习Web 安全,如何让普通人快速入门网络安全?

前言 网络安全现在是朝阳行业,缺口是很大。不过网络安全行业就是需要技术很多的人达不到企业要求才导致人才缺口大 初级的现在有很多的运维人员转网络安全,初级也会慢慢的卷起来,但是岗位多不用怕,以后各大厂也都会要网络安全人…

读西游记第一回:西游记世界格局

天地之数: 元:十二万九千六百岁(129600年) 1元12会:子、丑、寅、卯、巳、午、未、申、酉、戌、亥。每会18000年。与12地支对应。 亥会期:前5400年混沌期,后5400年,盘古开天辟地&am…

YOLOv9改进项目|关于本周更新计划的说明24/3/12

目前售价售价59.9,改进点30个 专栏地址: 专栏介绍:YOLOv9改进系列 | 包含深度学习最新创新,主力高效涨点!!! 日期:24/3/12 本周更新计划说明: 1. 更新华为Gold YOLO中的…

【nodejs】“__dirname is not defined”错误修复

▒ 目录 ▒ 🛫 问题描述环境 1️⃣ 原理CommonJS vs ESM错误原因 2️⃣ 禁用 ESM 模式并改用 CommonJS方案一:项目方案二:单文件 3️⃣ 在 ESM 模式下自实现__dirname📖 参考资料 🛫 问题 描述 从网上找了一份代码&am…

链表基础知识详解(非常详细简单易懂)

概述: 链表作为 C 语言中一种基础的数据结构,在平时写程序的时候用的并不多,但在操作系统里面使用的非常多。不管是RTOS还是Linux等使用非常广泛,所以必须要搞懂链表,链表分为单向链表和双向链表,单向链表很…

【四】【算法分析与设计】贪心算法的初见

455. 分发饼干 假设你是一位很棒的家长,想要给你的孩子们一些小饼干。但是,每个孩子最多只能给一块饼干。 对每个孩子 i,都有一个胃口值 g[i],这是能让孩子们满足胃口的饼干的最小尺寸;并且每块饼干 j,都有…

提高螺栓连接强度——SunTorque智能扭矩系统

螺栓连接是工程中常见的一种连接方式,其强度对于设备的稳定性和安全性具有至关重要的影响。然而,由于各种因素的影响,螺栓连接在使用过程中往往会出现松动、断裂等问题,导致设备故障和安全隐患。因此,提高螺栓连接的强…

Kanebo HITECLOTH 高科技擦镜布介绍

Kanebo HITECLOTH,这款由日本KBSeiren公司制造的高科技擦镜布,以其卓越的清洁能力和超柔软的布质,成为了市场上备受瞩目的产品。 材质与特性 HITECLOTH采用0.1旦尼尔特级高级微纤维制造,质地细致、坚韧、不起颗粒。这种纤维的特…

利用HubSpot出海CRM和人工智能技术提升出海业务的效率和效果

在当今数字化时代,智能化营销已经成为企业获取客户和扩大市场份额的关键策略。特别是对于出海业务而言,利用智能化营销技术来应对不同文化、语言和市场的挑战,已经成为企业竞争的关键优势。今天运营坛将带领大家探讨如何利用HubSpot CRM和人工…

网络流量监控软件AnaTraf:优化性能、排除故障的最佳选择

目录 导言 网络流量监控的重要性 AnaTraf网络万用表的功能与优势 网络故障排除与优化网络性能 结论 导言 在当今数字化时代,计算机网络已经成为企业和组织的核心基础设施。然而,网络流量的管理和监控对于确保网络性能的稳定和优化至关重要。本文将介…

GIS软件应用(二)

任务: 1. 正确划分渔网并裁剪出研究区域 2. 渔网与poi数据正确空间链接并统计网格内类别POI数量 步骤: 将南京市边界进行投影变换,具体看我的这篇文章:GIS软件应用(一)-CSDN博客 选择ArcToolbox中的 Cr…

java八股文 笔记(持续更新中~)

1 Redis 2Mysql 3JVM 4java基础底层 5 spring 6 微服务 7.......(持续更新) One:Redis篇 1.穿透 2:击穿 3:雪崩 3 33 4:双写一致 5.持久化 2 JVM: 2: 3: 4: 5: 6: 7&#xff…

【Scrapy】京东商品数据可视化

【Scrapy】京东商品数据可视化 文章目录 【Scrapy】京东商品数据可视化  👉引言💎一、爬取数据:1.1 scrapy爬虫库简介:1.2 技术实现:1.2.1搭建框架结构1.2.2 分析网页结构 二、数据保存:三、数据读取以及…

企业计算机服务器中了eking勒索病毒怎么办?Eking勒索病毒解密工具流程

网络数据安全问题一直是众多企业关心的主要话题,网络在为企业提供便利的同时,也为企业数据安全带来未知的隐患。近日,云天数据恢复中心接到许多企业求助,企业的计算机服务器遭到了eking勒索病毒攻击导致企业计算机服务器系统瘫痪无…

JMeter使用记录

文章目录 概述从0创建一个测试场景线程组配置元件CSV Data Set ConfigHTTP信息头管理器HTTP Cookie管理器HTTP请求默认值 逻辑控制器简单控制器IF控制器循环控制器while控制器 取样器HTTP取样 前置/后置处理器BeanShell处理器JSR223处理器 监听器查看结果树聚合报告汇总报告 概…

计算机网络:关键性能指标与非性能特征解析

✨✨ 欢迎大家来访Srlua的博文(づ ̄3 ̄)づ╭❤~✨✨ 🌟🌟 欢迎各位亲爱的读者,感谢你们抽出宝贵的时间来阅读我的文章。 我是Srlua小谢,在这里我会分享我的知识和经验。&am…

力扣每日一题 在受污染的二叉树中查找元素 哈希 DFS 二进制

Problem: 1261. 在受污染的二叉树中查找元素 思路 👨‍🏫 灵神题解 💖 二进制 时间复杂度:初始化为 O ( 1 ) O(1) O(1);find 为 O ( m i n ( h , l o g 2 t a r g e t ) O(min(h,log_2target) O(min(h,log2​targ…

PyTorch之完整的神经网络模型训练

简单的示例: 在PyTorch中,可以使用nn.Module类来定义神经网络模型。以下是一个示例的神经网络模型定义的代码: import torch import torch.nn as nnclass MyModel(nn.Module):def __init__(self):super(MyModel, self).__init__()# 定义神经…

云计算OpenStack KVM迁移

动态迁移 static migration 静态迁移 cold migration 冷迁移 offline migration 离线迁移 live migration 动态迁移 hot migration 热迁移 online migration 在线迁移 衡量 整体迁移时间 服务器停机时间 性能影响(迁移后和其它客户机) 特点 负载均衡 解除硬件依赖…