Android13 修改设备的density(dpi)
创作时间:
作者:
@小白创作中心
Android13 修改设备的density(dpi)
引用
CSDN
1.
https://blog.csdn.net/u010345983/article/details/143118307
DPI
DPI,全称Dots Per Inch,是一个衡量屏幕密度的关键指标。其中,Inch(英寸)作为物理单位,在任何设备上的大小都是恒定不变的。因此,DPI具体指的是在一英寸的物理长度内所能容纳的像素点(Dot)数量。例如,160DPI的屏幕意味着在一英寸的长度内包含160个像素点,而320DPI的屏幕则表明一英寸内含有320个像素点。由此可见,像素点的大小并不是固定的,而是随着DPI值的增加而减小。
在Android设备中,DPI被用来表示屏幕的密度(Density)。屏幕密度越大,意味着在一英寸的长度内所能显示的像素点数量越多,从而呈现出更加细腻、清晰的图像效果。
adb命令修改Android设备的density
连接设备
可以通过两种方式连接Android设备:
- 无线连接:打开cmd.exe,输入
adb connect 移动设备的ip地址(一定要确保电脑的网络和移动设备的网络在同一个局域网下面) - 有线连接:使用usb数据线连接电脑和移动设备
修改density
在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以后,需要在源码中进行相应的修改:
修改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>
修改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
热门推荐
中药煎煮前的泡制时间:不同药材的泡制要求与注意事项
双11淘宝发声:绝不让劣币驱逐良币
超声波液位计的盲区问题应如何处理?
箍牙全攻略:2025最新箍牙價錢、流程和牙箍類型
胃疼饮食要注意什么吃什么食物好
车的轮胎气压,多少才是合适的?
同为正厅,这四个职位哪个更有前景?很多人想岔了!
盐蒸淡菜(青口贝):简单美味的下酒菜
PowerShell vs CMD:在Windows中探索命令行的分歧
为什么维生素B2千万别乱补
在加拿大开银行账户的全面指南:步骤、注意事项与选择
在加拿大开银行账户的全面指南:步骤、注意事项与选择
窗户不隔音怎么办?最有效的六大方法
如何培养自己的攻击性
朱高炽爱妃郭氏:爷爷为开国功臣,儿子是王爷,最后却被皇后逼死
维生素C和尿常规的非同寻常关系
苏辙《六国论》:论六国破灭之道
硅酸钙板一体板在建筑节能方面有哪些具体应用?
成本毛利率是什么?成本毛利率如何影响企业决策?
致命美食为何让人趋之若鹜?河豚美食指南来了!
武汉新建一座长江大桥!
全人群平衡膳食宝塔:从婴儿到老人的科学饮食指南
国家励志奖学金申请时间及条件详解
脑血管病患者如何科学运动?这份指南请收好
公务员狱警视力要求解析:体检环节究竟有多严格?
无症状发烧一直要警惕什么病
“越老越妖”?盘点现役30岁以上球员40+场次前五,杜兰特第五
游戏开发全流程及其工具详解
健身期间饮酒会影响效果吗?酒精对肌肉恢复、脂肪代谢和运动表现的影响
张良:汉初三杰之一,刘邦的军师