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
热门推荐
脑洞大开的网文“金手指”,如何突破“无脑开挂”
“无处安放”的定存:转投稳健型银行理财却遭亏损
炉石传说卡牌深度解析:数值怪与机制怪的辩证关系
毛里塔尼亚沙漠变绿洲
输营养液一般几天
如何巧妙地利用谐音来给名字赋予积极意义?
不同类型的USB端口和电缆
胆固醇的好与坏!
公务员与事业编的区别详解:职业性质、职责与待遇对比
特朗普终止“小额免税”,中国跨境电商如何接招?
机械键盘有哪些分类
秋葵的功效与食用注意事项
日韩股市大跌!全球巨震 A股有何影响?
东西问·荐书丨用一本书了解巴西的“前世今生”
保耕地、提产业、美乡村 成都“三农”工作有了新目标
中国富豪榜大洗牌!张一鸣首登顶,还有哪些大变化?
八字属火和八字喜木的含义是什么
西洋参虽好,却不能“随便吃”,5个注意事项要牢记
尽管你对此一无所知,但你已经处于彼得·蒂尔的世界里了
LPR连续5月不变,结构性降息如何影响房市?
洗牙会让牙齿越洗越松动?刷牙之后要不要漱口?医生这样说
你选鲜奶会看标签吗?听听营养师怎么说→
足球前瞻:毕尔巴鄂VS奥萨苏纳,贝蒂斯VS塞维利亚,金泉VS江原
减盐有道,控制高“盐”值
传承精华 藏药飘香
车上点烟器的充电方法有哪些?这些充电方法的安全性如何?
情感误区:避免这些错误让爱情更美好
大众第五代EA888发动机:燃油车的逆袭与革新
同样都是大众,“一汽”和“上汽”有何区别?一次性给你讲清楚
F1车手市场发展或由意外之人决定