开发速查

Android 开发速查工具集:dp/px/sp 互转与屏幕密度计算、Android 版本与 API Level 对照表、运行时权限速查、keyevent 键值对照,可搜索、可复制。

dp / px / sp 换算器

= 48.0 px(scale ×3.00)
密度等级dpi缩放16dp =说明
ldpi120×0.7512.0px早期小屏设备
mdpi160×116.0px基准密度(1dp = 1px)
hdpi240×1.524.0px早期中端机
xhdpi320×232.0px720p 手机
xxhdpi480×348.0px1080p 主流手机
xxxhdpi640×464.0px2K+ 旗舰机

Android 版本 / API Level 对照表

版本API代号年份关键行为变更
1636Baklava2025自适应布局强制适配大屏,预测性返回默认开启
1535Vanilla Ice Cream2024默认全面屏 edge-to-edge,16KB 内存页对齐要求
1434Upside Down Cake2023前台服务需声明类型,隐式 Intent 限制加强
1333Tiramisu2022通知运行时权限 POST_NOTIFICATIONS,细分媒体权限
12L/1232Snow Cone v22022大屏优化,任务栏
1231Snow Cone2021Material You,exported 必须显式声明,启动画面 SplashScreen
1130Red Velvet Cake2020分区存储强制执行,包可见性限制(queries)
1029Quince Tart2019分区存储引入,后台定位单独权限,深色主题
928Pie2018默认禁止 HTTP 明文,刘海屏 API,前台服务权限
8.127Oreo MR12017通知渠道细化
8.026Oreo2017通知渠道,后台执行限制,自适应图标
7.125Nougat MR12016App Shortcuts
7.024Nougat2016多窗口,FileProvider 强制(file:// 禁止)
6.023Marshmallow2015运行时权限模型引入
5.122Lollipop MR12015多 SIM 卡支持
5.021Lollipop2014Material Design,ART 取代 Dalvik
4.419KitKat2013沉浸模式,WebView 切换 Chromium

权限速查表

dangerousREAD_CALENDAR读取日历
dangerousWRITE_CALENDAR写入日历
dangerousCAMERA相机
dangerousREAD_CONTACTS读取联系人
dangerousWRITE_CONTACTS写入联系人
dangerousGET_ACCOUNTS获取账户列表
dangerousACCESS_FINE_LOCATION精确定位
dangerousACCESS_COARSE_LOCATION粗略定位
dangerousACCESS_BACKGROUND_LOCATION后台定位(Android 10+ 单独申请)
dangerousRECORD_AUDIO录音
dangerousREAD_PHONE_STATE读取手机状态
dangerousCALL_PHONE拨打电话
dangerousREAD_CALL_LOG读取通话记录
dangerousWRITE_CALL_LOG写入通话记录
dangerousBODY_SENSORS身体传感器
dangerousACTIVITY_RECOGNITION身体活动识别(Android 10+)
dangerousSEND_SMS发送短信
dangerousRECEIVE_SMS接收短信
dangerousREAD_SMS读取短信
dangerousREAD_EXTERNAL_STORAGE读取外部存储(Android 13+ 被细分媒体权限取代)
dangerousWRITE_EXTERNAL_STORAGE写入外部存储(Android 11+ 基本失效)
dangerousREAD_MEDIA_IMAGES读取图片(Android 13+)
dangerousREAD_MEDIA_VIDEO读取视频(Android 13+)
dangerousREAD_MEDIA_AUDIO读取音频(Android 13+)
dangerousPOST_NOTIFICATIONS发送通知(Android 13+)
dangerousBLUETOOTH_SCAN蓝牙扫描(Android 12+)
dangerousBLUETOOTH_CONNECT蓝牙连接(Android 12+)
dangerousBLUETOOTH_ADVERTISE蓝牙广播(Android 12+)
dangerousNEARBY_WIFI_DEVICES附近 WLAN 设备(Android 13+)
normalINTERNET网络访问
normalACCESS_NETWORK_STATE查看网络状态
normalACCESS_WIFI_STATE查看 WLAN 状态
normalVIBRATE振动
normalWAKE_LOCK保持唤醒
normalRECEIVE_BOOT_COMPLETED开机自启
normalFOREGROUND_SERVICE前台服务(Android 9+)
signatureREQUEST_INSTALL_PACKAGES请求安装应用(需用户在设置中授权)
specialSYSTEM_ALERT_WINDOW悬浮窗(需引导到设置页开启)
specialWRITE_SETTINGS修改系统设置(需引导到设置页开启)
specialMANAGE_EXTERNAL_STORAGE所有文件访问(Android 11+,上架 Google Play 需审核)
specialPACKAGE_USAGE_STATS使用情况访问(需引导到设置页开启)
signatureBIND_ACCESSIBILITY_SERVICE无障碍服务(自动化脚本常用)
specialSCHEDULE_EXACT_ALARM精确闹钟(Android 12+)

keyevent 键值对照表

3KEYCODE_HOMEHOME 键
4KEYCODE_BACK返回键
5KEYCODE_CALL拨号键
6KEYCODE_ENDCALL挂断键
24KEYCODE_VOLUME_UP音量 +
25KEYCODE_VOLUME_DOWN音量 -
26KEYCODE_POWER电源键
27KEYCODE_CAMERA相机键
61KEYCODE_TABTab
66KEYCODE_ENTER回车
67KEYCODE_DEL退格删除
82KEYCODE_MENU菜单键
84KEYCODE_SEARCH搜索键
85KEYCODE_MEDIA_PLAY_PAUSE播放/暂停
86KEYCODE_MEDIA_STOP停止播放
87KEYCODE_MEDIA_NEXT下一曲
88KEYCODE_MEDIA_PREVIOUS上一曲
111KEYCODE_ESCAPEEsc
112KEYCODE_FORWARD_DEL向前删除
122KEYCODE_MOVE_HOME光标移到行首
123KEYCODE_MOVE_END光标移到行尾
164KEYCODE_VOLUME_MUTE静音
187KEYCODE_APP_SWITCH最近任务
220KEYCODE_BRIGHTNESS_DOWN亮度 -
221KEYCODE_BRIGHTNESS_UP亮度 +
223KEYCODE_SLEEP休眠(息屏)
224KEYCODE_WAKEUP唤醒屏幕
231KEYCODE_VOICE_ASSIST语音助手
276KEYCODE_ALL_APPS应用抽屉

使用步骤

  1. 1在 dp/px 换算器中输入任一数值与屏幕密度,其余单位自动换算;也可以直接选择常见机型带入分辨率与密度。
  2. 2在 Android 版本对照表中查询 API Level、代号与各版本关键行为变更。
  3. 3权限速查表支持按权限名或中文说明搜索,标注保护级别与申请方式。
  4. 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 的前台服务类型等。