首页 > 其他分享 >Android13 修改设备的density(dpi)

Android13 修改设备的density(dpi)

时间:2024-11-09 09:44:30浏览次数:3  
标签:density Android13 settings frameworks base packages SettingsProvider dpi

DPI

DPI,全称Dots Per Inch,是一个衡量屏幕密度的关键指标。其中,Inch(英寸)作为物理单位,在任何设备上的大小都是恒定不变的。因此,DPI具体指的是在一英寸的物理长度内所能容纳的像素点(Dot)数量。例如,160DPI的屏幕意味着在一英寸的长度内包含160个像素点,而320DPI的屏幕则表明一英寸内含有320个像素点。由此可见,像素点的大小并不是固定的,而是随着DPI值的增加而减小。

在Android设备中,DPI被用来表示屏幕的密度(Density)。屏幕密度越大,意味着在一英寸的长度内所能显示的像素点数量越多,从而呈现出更加细腻、清晰的图像效果

adb命令修改Android设备的density

1. 用电脑连接上android设备 可以通过两种方式:

  • **无线连接:**打开cmd.exe
    输入 adb connect 移动设备的ip地址 (一定要确保电脑的网络和移动设备的网络在同一个局域网下面)
  • **有线连接:**usb数据线连接电脑和移动设备

2. 在cmd界面输入 adb shell wm density 想要修改的dpi值(160)

PS C:\Users\longzhiye> adb shell wm density
Physical density: 420

查看当前设备的dpi值为420

S C:\Users\longzhiye> adb shell wm density 300
修改前的效果

修改后的效果

通过观察可以发现,图标和字体明显变小

调整到合适的DPI以后,我们需要在源码中修改

frameworks/base/packages/SettingsProvider/res/values/defaults.xml

diff --git a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
index 5cb4c404e09..c1e220b614a 100755
--- a/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
+++ b/frameworks/base/packages/SettingsProvider/res/values/defaults.xml
@@ -339,9 +341,19 @@
 
     
     <bool name="def_status_bar_show_vibrate_icon">true</bool>
 	
+    <!--Create by yeruilai 2022-12-7 10:09:39 -->
-	<string name="def_display_density_forced" translatable="false">420</string>
+    <string name="def_display_density_forced" translatable="false">300</string>
+
 </resources>

frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java

diff --git a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
index 53eef230cac..a3c96455cfa 100755
--- a/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
+++ b/frameworks/base/packages/SettingsProvider/src/com/android/providers/settings/DatabaseHelper.java
@@ -2448,8 +2448,13 @@ class DatabaseHelper extends SQLiteOpenHelper {
             loadIntegerSetting(stmt, UnisocSettings.Secure.FACE_UNLOCK_REQUIRE_LIVENESSMODE,
                     R.integer.def_facelock_liveness);
             /*@}*/
-			//loadStringSetting(stmt, Settings.Secure.DISPLAY_DENSITY_FORCED,
-                    //R.string.def_display_density_forced); 
+			loadStringSetting(stmt, Settings.Secure.DISPLAY_DENSITY_FORCED,
+                    R.string.def_display_density_forced); 
             /*
              * IMPORTANT: Do not add any more upgrade steps here as the global,
              * secure, and system settings are no longer stored in a database

标签:density,Android13,settings,frameworks,base,packages,SettingsProvider,dpi
From: https://blog.csdn.net/u010345983/article/details/143118307

相关文章

  • Android13 通过OTA升级更新系统默认设置
    系统进行OTA升级时更改默认设置的详细步骤在进行系统的OTA(Over-The-Air)升级过程中,如果需要对系统默认设置进行更改,以确保升级后的系统能够应用新的默认配置,那么需要执行一系列关键步骤。以下是详细的操作指南:修改设备Overlay资源首先,需要定位到设备特定的Overlay资源文件......
  • 为什么不同的鼠标 相同的芯片,DPI和回报率一样,抛开磨具不谈。为什么有的跟手有的不跟手
    即使不同鼠标使用相同的芯片、DPI和回报率,抛开模具因素,仍然存在有的跟手有的不跟手的情况,主要有以下原因:传感器调校差异:数据处理算法:虽然芯片相同,但不同鼠标厂商对于芯片的数据处理算法和调校方式可能不同。一些厂商的算法能够更精准地处理传感器采集到的数据,对鼠标的移动轨迹进......
  • 理解ADC:“过采样”算不算是神操作?附带介绍Noise Spectral Density
    前言上回说到“理想ADC”中只存在量化噪声,并且介绍了SNR=6.02N+1.76dB的计算公式。那么,是否意味着“底噪”(NoiseFloor)就是这个SNR的负数呢?先来看一张图,原始出自于ADI的文章(见参考资料[1]),我做了些标注:图1ADCSNR与Noisefloor图中假设了一个12-bit的ADC,......
  • Android13冻结进程分析:如何提高设备性能和用户体验
    本文介绍了Android13中的冻结进程功能,它是一种重要的资源管理策略,可以提高系统性能和稳定性,同时最大限度地节省设备的资源和电池消耗。文章讨论了如何合理分配资源,包括CPU、内存等,以提高设备性能和用户体验。此外,文章还提到了冻结进程对应用程序线程的影响,并介绍了Android13与An......
  • ReadPilot: 革新网页阅读体验的AI助手
    ReadPilot:让网页阅读更高效、更智能在这个信息爆炸的时代,我们每天都面临着大量的网页内容需要阅读和处理。如何在有限的时间内快速获取关键信息,成为了许多人面临的挑战。ReadPilot应运而生,它是一款革新性的AI网页阅读助手,旨在帮助用户更高效地获取和理解网页内容。ReadPil......
  • c# winform 高 dpi 自适应开发步骤
    1.在不启用dpiaware模式下开发2.启动dpiaware3.对有问题的控件使用 DpiHelper对定位和大小或者图像进行转换参见 解决DPI问题-VisualStudio(Windows)|MicrosoftLearn部分官方示例:若要从将在VisualStudio环境中运行的托管代码访问DPI帮助程序函数,请......
  • 修改图片的DPI为300,图片格式转换成jpg,nodejs脚本
    //用sharp转换图片格式constSharp=require('sharp');//引入fs库用于文件操作constfs=require('fs');//引入path库用于处理文件路径constpath=require('path');//引入exiftool库用于处理图片元数据constexiftool=require('exiftool-vendored').exifto......
  • Android 10.0 Launcher3禁止改变density等系统密度导致布局变化hotseat靠右边显示功能
    1.前言在10.0的系统rom定制化开发中,在进行launcher3的定制化功能中,在有些项目修改系统密度density的值,以后导致launcher3的布局变乱,hotseat布局成一行竖屏显示看的很不美观,接下来就看如何分析解析禁止density改变导致布局变动的功能分析2.Launcher3禁止改变density等系统密......
  • BCD 工艺中的layer density 不足的解决办法
    DENSITY要求常见的density要求在ODPOLY和金属层的layer上,过高和过低的density都会直接影响产品的良率例如:金属密度过大,影响金属覆盖率。金属的覆盖比例Metalratio:30%-55%之间为最佳(根据所用工艺而言),比例偏离的话,铝腐蚀就不好,不干净或过腐蚀。不知道大家在交GDS的时候有......
  • 安卓13删除下拉栏中的设置按钮 android13删除设置按钮
    总纲android13rom开发总纲说明文章目录1.前言2.问题分析3.代码分析4.代码修改5.编译6.彩蛋1.前言  顶部导航栏下拉可以看到,底部这里有个设置按钮,点击可以进入设备的设置页面,这里我们将更改为删除,不同用户通过这个地方进入设置。也就是下面这个按钮。......