开发速查
Android 开发速查工具集:dp/px/sp 互转与屏幕密度计算、Android 版本与 API Level 对照表、运行时权限速查、keyevent 键值对照,可搜索、可复制。
dp / px / sp 换算器
= 48.0 px(scale ×3.00)
| 密度等级 | dpi | 缩放 | 16dp = | 说明 |
|---|---|---|---|---|
| ldpi | 120 | ×0.75 | 12.0px | 早期小屏设备 |
| mdpi | 160 | ×1 | 16.0px | 基准密度(1dp = 1px) |
| hdpi | 240 | ×1.5 | 24.0px | 早期中端机 |
| xhdpi | 320 | ×2 | 32.0px | 720p 手机 |
| xxhdpi | 480 | ×3 | 48.0px | 1080p 主流手机 |
| xxxhdpi | 640 | ×4 | 64.0px | 2K+ 旗舰机 |
Android 版本 / API Level 对照表
| 版本 | API | 代号 | 年份 | 关键行为变更 |
|---|---|---|---|---|
| 16 | 36 | Baklava | 2025 | 自适应布局强制适配大屏,预测性返回默认开启 |
| 15 | 35 | Vanilla Ice Cream | 2024 | 默认全面屏 edge-to-edge,16KB 内存页对齐要求 |
| 14 | 34 | Upside Down Cake | 2023 | 前台服务需声明类型,隐式 Intent 限制加强 |
| 13 | 33 | Tiramisu | 2022 | 通知运行时权限 POST_NOTIFICATIONS,细分媒体权限 |
| 12L/12 | 32 | Snow Cone v2 | 2022 | 大屏优化,任务栏 |
| 12 | 31 | Snow Cone | 2021 | Material You,exported 必须显式声明,启动画面 SplashScreen |
| 11 | 30 | Red Velvet Cake | 2020 | 分区存储强制执行,包可见性限制(queries) |
| 10 | 29 | Quince Tart | 2019 | 分区存储引入,后台定位单独权限,深色主题 |
| 9 | 28 | Pie | 2018 | 默认禁止 HTTP 明文,刘海屏 API,前台服务权限 |
| 8.1 | 27 | Oreo MR1 | 2017 | 通知渠道细化 |
| 8.0 | 26 | Oreo | 2017 | 通知渠道,后台执行限制,自适应图标 |
| 7.1 | 25 | Nougat MR1 | 2016 | App Shortcuts |
| 7.0 | 24 | Nougat | 2016 | 多窗口,FileProvider 强制(file:// 禁止) |
| 6.0 | 23 | Marshmallow | 2015 | 运行时权限模型引入 |
| 5.1 | 22 | Lollipop MR1 | 2015 | 多 SIM 卡支持 |
| 5.0 | 21 | Lollipop | 2014 | Material Design,ART 取代 Dalvik |
| 4.4 | 19 | KitKat | 2013 | 沉浸模式,WebView 切换 Chromium |
权限速查表
dangerous
READ_CALENDAR读取日历dangerous
WRITE_CALENDAR写入日历dangerous
CAMERA相机dangerous
READ_CONTACTS读取联系人dangerous
WRITE_CONTACTS写入联系人dangerous
GET_ACCOUNTS获取账户列表dangerous
ACCESS_FINE_LOCATION精确定位dangerous
ACCESS_COARSE_LOCATION粗略定位dangerous
ACCESS_BACKGROUND_LOCATION后台定位(Android 10+ 单独申请)dangerous
RECORD_AUDIO录音dangerous
READ_PHONE_STATE读取手机状态dangerous
CALL_PHONE拨打电话dangerous
READ_CALL_LOG读取通话记录dangerous
WRITE_CALL_LOG写入通话记录dangerous
BODY_SENSORS身体传感器dangerous
ACTIVITY_RECOGNITION身体活动识别(Android 10+)dangerous
SEND_SMS发送短信dangerous
RECEIVE_SMS接收短信dangerous
READ_SMS读取短信dangerous
READ_EXTERNAL_STORAGE读取外部存储(Android 13+ 被细分媒体权限取代)dangerous
WRITE_EXTERNAL_STORAGE写入外部存储(Android 11+ 基本失效)dangerous
READ_MEDIA_IMAGES读取图片(Android 13+)dangerous
READ_MEDIA_VIDEO读取视频(Android 13+)dangerous
READ_MEDIA_AUDIO读取音频(Android 13+)dangerous
POST_NOTIFICATIONS发送通知(Android 13+)dangerous
BLUETOOTH_SCAN蓝牙扫描(Android 12+)dangerous
BLUETOOTH_CONNECT蓝牙连接(Android 12+)dangerous
BLUETOOTH_ADVERTISE蓝牙广播(Android 12+)dangerous
NEARBY_WIFI_DEVICES附近 WLAN 设备(Android 13+)normal
INTERNET网络访问normal
ACCESS_NETWORK_STATE查看网络状态normal
ACCESS_WIFI_STATE查看 WLAN 状态normal
VIBRATE振动normal
WAKE_LOCK保持唤醒normal
RECEIVE_BOOT_COMPLETED开机自启normal
FOREGROUND_SERVICE前台服务(Android 9+)signature
REQUEST_INSTALL_PACKAGES请求安装应用(需用户在设置中授权)special
SYSTEM_ALERT_WINDOW悬浮窗(需引导到设置页开启)special
WRITE_SETTINGS修改系统设置(需引导到设置页开启)special
MANAGE_EXTERNAL_STORAGE所有文件访问(Android 11+,上架 Google Play 需审核)special
PACKAGE_USAGE_STATS使用情况访问(需引导到设置页开启)signature
BIND_ACCESSIBILITY_SERVICE无障碍服务(自动化脚本常用)special
SCHEDULE_EXACT_ALARM精确闹钟(Android 12+)keyevent 键值对照表
3
KEYCODE_HOMEHOME 键4
KEYCODE_BACK返回键5
KEYCODE_CALL拨号键6
KEYCODE_ENDCALL挂断键24
KEYCODE_VOLUME_UP音量 +25
KEYCODE_VOLUME_DOWN音量 -26
KEYCODE_POWER电源键27
KEYCODE_CAMERA相机键61
KEYCODE_TABTab66
KEYCODE_ENTER回车67
KEYCODE_DEL退格删除82
KEYCODE_MENU菜单键84
KEYCODE_SEARCH搜索键85
KEYCODE_MEDIA_PLAY_PAUSE播放/暂停86
KEYCODE_MEDIA_STOP停止播放87
KEYCODE_MEDIA_NEXT下一曲88
KEYCODE_MEDIA_PREVIOUS上一曲111
KEYCODE_ESCAPEEsc112
KEYCODE_FORWARD_DEL向前删除122
KEYCODE_MOVE_HOME光标移到行首123
KEYCODE_MOVE_END光标移到行尾164
KEYCODE_VOLUME_MUTE静音187
KEYCODE_APP_SWITCH最近任务220
KEYCODE_BRIGHTNESS_DOWN亮度 -221
KEYCODE_BRIGHTNESS_UP亮度 +223
KEYCODE_SLEEP休眠(息屏)224
KEYCODE_WAKEUP唤醒屏幕231
KEYCODE_VOICE_ASSIST语音助手276
KEYCODE_ALL_APPS应用抽屉使用步骤
- 1在 dp/px 换算器中输入任一数值与屏幕密度,其余单位自动换算;也可以直接选择常见机型带入分辨率与密度。
- 2在 Android 版本对照表中查询 API Level、代号与各版本关键行为变更。
- 3权限速查表支持按权限名或中文说明搜索,标注保护级别与申请方式。
- 4keyevent 对照表可直接复制 adb shell input keyevent 命令到终端执行。
常见问题
- dp 和 px 怎么换算?
- 公式为 px = dp × (dpi / 160)。mdpi(160dpi)是基准密度,此时 1dp = 1px;在 480dpi 的设备上 1dp = 3px。sp 在未调整字体缩放时与 dp 等价。
- 怎么查看设备的实际 dpi?
- 执行 adb shell wm density 可查看设备密度;adb shell wm size 查看分辨率。本页的换算器可直接填入这两个值。
- 危险权限和特殊权限有什么区别?
- 危险权限(dangerous)通过运行时弹窗申请;特殊权限(special)如悬浮窗、所有文件访问,需要跳转到系统设置页由用户手动开启,无法通过弹窗获得。
- targetSdk 升级要注意什么?
- 每年 Google Play 都会提高 targetSdk 下限。升级前应对照版本对照表中的行为变更逐项排查,例如 Android 13 的通知权限、Android 14 的前台服务类型等。