登录发现更多内容
首页
分类
发帖
账号
自动登录
找回密码
密码
登录
立即注册
立即登录
立即注册
其他登录
QQ
微信
首页
Portal
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
产品教程
BBS
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
开发资料
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
样品购买
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
IoT云平台
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
GitHub
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
技术博客
求助问答
Xiuno资源
Xiuno教程
Xiuno插件
Xiuno主题
休闲茶馆
定制主题
搜索
搜索
热搜:
LoRa
ESP8266
安信可
本版
帖子
用户
请
登录
后使用快捷导航
没有账号?
立即注册
每日签到
任务
广播
导读
排行榜
设置
我的收藏
退出
6
0
1
首页
技术杂谈
›
使用ADB获取Android设备上各类信息
返回列表
使用ADB获取Android设备上各类信息
[ 复制链接 ]
发布帖子
Hiyase
中级会员
3
主题
4
回帖
370
积分
中级会员
中级会员, 积分 370, 距离下一级还需 130 积分
中级会员, 积分 370, 距离下一级还需 130 积分
积分
370
私信
6人留言
楼主
技术杂谈
39878
6
2023-11-22 15:03:38
[i=s] 本帖最后由 Hiyase 于 2023-11-22 15:12 编辑 [/i]
> 本帖最后由 Hiyase 于 2023-11-22 15:11 编辑 > 本帖最后由 Hiyase 于 2023-11-22 15:05 编辑 以下信息获取方法都是在设备 [Redmi K30 Pro]([https://www.mi.com/redmik30pro/specs](https://www.mi.com/redmik30pro/specs)) 以及 [Crdroid Rom]([https://crdroid.net/lmi/9](https://crdroid.net/lmi/9)) 上进行 如在联发科,华为设备上,可能部分命令无法使用。且不保证所有命令都可以使用 ## ADB Base command ```shell adb -s [serial/IP:Port] #使用指定的序列号/地址进行连接 adb devices -l #获取已连接的设备, -l 有更细节的参数 adb connect #ip:port 通过无线网络连接 ``` state: authorizing (等待授权) ,device(已连接) no device(无设备) ,offline(未连接/无响应) ```yaml usb: #有此参数表示该设备通过USB连接 product: lineage_lmi #设备的产品名称是lineage_lmi,它似乎运行的是LineageOS自定义ROM。 model: Redmi_K30_Pro #设备的模型名称是Redmi K30 Pro。 device: lmi #设备的代号 transport_id: 11 #传输ID为11 #由以下三个属性组成:ro.product.name ro.product.model ro.product.device ``` [[https://www.cnblogs.com/1996swg/p/9810424.html](https://www.cnblogs.com/1996swg/p/9810424.html)]([https://www.cnblogs.com/1996swg/p/9810424.html](https://www.cnblogs.com/1996swg/p/9810424.html)) ***要看一下*** ## Get Hardware info --- ```shell adb shell getprop ro.product.manufacturer #获取设备制造商 adb shell getprop ro.product.model #获取设备型号 adb shell getprop ro.product.name #获取设备产品名称 adb shell getprop ro.product.device #获取设备代号 adb shell getprop ro.product.board #获取主板型号 ``` ### CPU info ```shell adb shell getprop ro.soc.manufacturer #获取soc制造商 adb shell getprop ro.soc.model #获取soc名称 adb shell cat /sys/devices/soc0/vendor #获取soc0的制造商信息 adb shell cat /sys/devices/soc0/family #获取soc0的家族系列 adb shell cat /sys/devices/soc0/chip_name #获取soc0的芯片名称 adb shell cat /sys/devices/system/cpu/possible #获取 cpu 核心数 adb shell cat /proc/stat #获取 cpu 运行状态 adb shell cat /proc/cpuinfo adb shell su -c cat '/dev/block/bootdevice/by-name/logfs | grep "Chip"' #芯片,版本,序列号(疑似联发科不可用) ``` processor: 0/1 表示第几个核。 BogoMIPS:伪MIPS,用于测量CPU速度 Features:表示当前CPU所支持的特性 CPU architecture:7表示arm-v7,8表示arm-v8 #### More CPU info ```shell adb shell cat /sys/devices/system/cpu/cpufreq/policy[id]/ ``` - `affected_cpus` — 这一组policy可调度哪个核心 - `cpuinfo_min_freq` — CPU 最小可用频率 - `cpuinfo_max_freq` — CPU 最大可用频率 - `scaling_driver` — CPUfreq 的驱动程序 - `scaling_available_governors` — 列出CPU可用的调度器 - `scaling_available_frequencies` — 列出CPU的可用频率 - `scaling_governor` — 正在使用的CPUfreq调度器 (可更改) - `cpuinfo_cur_freq` — 显示 CPU 当前的处理频率 - `scaling_min_freq` — 当前最小频率 (可更改) - `scaling_max_freq` — 当前最大频率 (可更改) **使用 `echo [调度器] > /sys/devices/system/cpu/cpufreq/policy[id]/scaling_governor` (root)可以更改调度器** **频率同理,但无论更改哪个,必须是可用的** ```shell adb shell 'su -c "echo xxx > file"' ``` possible 可能的CPU核心数 present 展示的CPU核心数 modalias :CPU 类型和 feature uevent :展示(?)信息 (需要Root) 作用不详 ofline online 下线/上线的CPU ### Get GPU info ```shell adb shell dumpsys gfxinfo #信息过多需要精简(无用信息) adb shell dumpsys graphicsstats #应用显卡占用历史信息(无用信息) adb shell dumpsys SurfaceFlinger |grep GLES #显卡型号及OpenGL版本 adb shell cmd gpu vkjson # vulkan 信息(部分)(未来可能弃用) ``` 在 `/sys/kernel/gpu` 目录下,可以修改调度器及频率信息(更改和读取均需要Root) *华为设备可能不在此目录* - `gpu_available_governor` — 可用的调度器列表 - `gpu_governor` — 当前使用的调度器 (可更改) - `gpu_freq_table` — 支持频率列表 - `gpu_min_clock` — 当前最小频率 (可更改) - `gpu_max_clock` — 当前最大频率 (可更改) - `gpu_busy` — 当前占用率 - `gpu_clock` — 当前处理频率,单位 `Mhz` - `gpu_tmu` — **不知道** 上述目录是软链接,真实目录为: `/sys/devices/platform/soc/3d00000.qcom,kgsl-3d0/devfreq/3d00000.qcom,kgsl-3d0` 但使用真实目录可能会造成不兼容 #### OpenGL和Vulkan的更多信息只能通过代码实现 **from Google:** 如果设备包含 Vulkan 驱动程序,则该设备需要声明 `FEATURE_VULKAN_HARDWARE_LEVEL` 和 `FEATURE_VULKAN_HARDWARE_VERSION` 系统功能 ### Get Memory info ```shell adb shell cat /proc/meminfo #参数太多,等待理解 adb shell dumpsys procstats #内存占用情况,等待检查更多参数 adb shell dumpsys meminfo -h #等待检查更多参数 adb shell su -c cat '/dev/block/bootdevice/by-name/logfs | grep "DDR Frequency"' #疑似获取内存频率 (疑似联发科不可用) ``` ### Get Disk info ```shell adb shell dumpsys diskstats #磁盘状态 adb shell df #目前信息还少,需要其他方案 adb shell dd "if=/dev/block/bootdevice/by-name/recovery of=/sdcard/recovery.img" #备份recovery 到 /sdcard ``` ### Get Screen info ```shell adb shell dumpsys display #大量显示相关信息 (需筛选) adb shell dumpsys SurfaceFlinger #图形合成器信息(包含屏幕信息,等筛选 adb shell getprop ro.sf.lcd_density #疑似获取默认屏幕密度 ``` #### wm Command ```shell adb shell wm size #显示或更改尺寸 adb shell wm size reset #重置屏幕尺寸 adb shell wm density #显示或更改密度 adb shell wm density reset #重置屏幕密度 ``` ### Get Battery info ```shell adb shell dumpsys battery -h #等待检查更多参数 adb shell dumpsys batterystats -h #等待检查更多参数 ``` ```yaml From adb shell dumpsys battery AC powered: true #表示交流电充电 true为正在充电,false为未在充电 USB powered: false #表示USB充电,规则同上,省略 Wireless powered: false #表示无线充电 Max charging current: 1742674 #当前充电电流, 这里为 1742674 µA 微安培 换算为 1742.674 mA Max charging voltage: 4289539 #当前充电电压, 这里为 4289539 nV 纳伏特 换算为 4.289539 mV Charge counter: 2015801 #疑似单位为 µAh 微安时 换算为 2015.801mAh 充满电时为 3622.000mAh 可能是损耗 status: 2 #电池状态 1: 未知 2: 正在充电 3: 正在放电 4: (已连接)但未充电 5:已充满 health: 2 #电池健康 1: 未知 2: 良好 3: 过热 4: 已损坏 5: 电压过高。6: 未知故障。7: 温度过低 present: true #true表示已安装电池 level: 56 ##当前电池电量 scale: 100 ##最大电池电量 voltage: 4289 #电池电压 temperature: 307 #温度,这里是30.7°C technology: Li-poly #电池技术,这里是锂电池 ``` #### 设计电池电量需要实用代码实现,充电信息可能只能使用Root获取 #### Use root Get Battery info ```shell adb shell su -c cat /sys/class/power_supply/bms/uevent adb shell su -c cat /sys/class/power_supply/battery/uevent adb shell su -c cat /sys/class/power_supply/usb/uevent ``` ### Get Camera info ```shell adb shell dumpsys media.camera #等待信息筛选 ``` 更多信息需要代码实现 ### Get Network info ```shell adb shell ifconfig #可以使用 adb shell dumpsys wifi #大量无用信息,懒得筛选 adb shell dumpsys telecom #可能有相关信息 adb shell dumpsys telephony.registry #可能有相关信息 ``` #### 目前无进度,使用代码实现,使用root可以使用 `iw`命令() ### Get Bluetooth info ```shell adb shell dumpsys bluetooth_manager #一条命令基本足以 ``` ### Get Audio info ```shell adb shell dumpsys media.audio_policy ``` ### Get OtherDevice info ```shell adb shell dumpsys input #输入设备 adb shell dumpsys sensorservice #传感器 ``` ## Get System info ```shell adb shell pm list features #系统所支持的特性 ``` ### Get Build info ```shell adb shell getprop ro.build.version.release # Android 版本号 adb shell getprop ro.build.version.sdk # API 版本 adb shell getprop ro.build.version.security_patch # 安全更新的日期 adb shell getprop ro.build.id # 构建的版本号 adb shell getprop ro.build.display.id # 显示的构建版本号 adb shell getprop ro.build.fingerprint # 构建的指纹 adb shell getprop ro.build.date # 构建时间 adb shell getprop ro.build.date.utc # 以unix时间戳显示的构建时间 adb shell getprop ro.build.tags # 构建的标签 adb shell getprop gsm.version.baseband # 获取基带信息 adb shell uname -a # 获取内核版本 ``` ### Get permission info ```shell adb shell pm list permission-groups #列出所有权限组 adb shell pm list permissions #列出所有权限 ``` ### Get Users info ```shell adb shell pm list users #列出所有用户 adb shell pm create-user #创建用户 adb shell pm remove-user #删除用户 adb shell pm get-max-users #获取最大用户数 adb shell setprop fw.max_users 10 #设置最大用户数为10 (需要root) adb shell pm set-user-restriction #设置用户限制 adb shell pm get-max-running-users #获取系统可以运行的最大用户数 adb shell dumpsys activity users #活动中的用户信息 ``` ### Get Other info ```shell adb shell dumpsys media.player # 编解码器信息 adb shell dumpsys media.extractor # 编解码器信息 adb shell dumpsys account # 获取用户下已登陆账户信息 adb shell dumpsys webviewupdate #WebView信息 ``` ### Settings 当命令是setings `get` 为获取 `put` 为修改 使用 `setprop` 可以更改prop内容 ```shell adb shell getprop persist.sys.locale # 设置的语言 adb shell getprop persist.sys.timezone # 设置的时区 adb shell settings get secure system_locales # 系统的语言地区信息(?) adb shell settings get global device_name # 用户定义的设备名称 adb shell settings get global zram_enabled # 是否启用zram ``` #### Captive Protal 网络验证功能 修改后需要重启网络 ```shell adb shell settings get global captive_portal_detection_enabled # 1为启用 0为禁用 adb shell settings get global captive_portal_use_https # 是否启用https adb shell settings get global captive_portal_server # 验证服务地址 adb shell settings get global captive_portal_http_url adb shell settings get global captive_portal_https_url ``` ***© Licensed under CC BY-NC-SA 4.0***
Android
ADB
Phone
手机
安卓
点赞
0
收藏
1
淘帖
0
────
0
人觉得很赞
────
相关帖子
记Android MQTT第三库eclipse/paho.mqtt.android无法在Android 14上使用的升级过程
手机音乐播放控制权抢占
iOS 和 Android 的后台定时上传任务
Android模块拆分后随APP自启动
冷曦的喵喵小屋 - Hiyase’s Blog
快来看看吧!
回复
使用道具
举报
6 回复
电梯直达
正序浏览
倒序浏览
正序浏览
沙发
WangChong
回复
使用道具
举报
2023-11-22 19:53:25
学习了
回复
评论
使用道具
举报
板凳
qwe2079282957
回复
使用道具
举报
2023-11-22 21:12:23
太齐全了
回复
评论
使用道具
举报
地板
干簧管
回复
使用道具
举报
2023-11-22 23:58:10
学习
回复
评论
使用道具
举报
5
#
lazy
回复
使用道具
举报
2023-11-23 08:34:52
这个有点厉害了,在丰富社区知识层面呀。
回复
评论
使用道具
举报
6
#
WT_0213
回复
使用道具
举报
2023-11-23 08:40:06
这个有点厉害了
回复
评论
使用道具
举报
7
#
干簧管
回复
使用道具
举报
2023-11-23 11:37:11
学习了
回复
评论
使用道具
举报
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
立即登录
手机登录
点评
高级模式
本版积分规则
回帖并转播
回帖后跳转到最后一页
返回
浏览过的版块
小安派·其他系列
今日推荐
Ai-Thinker Skills 正式发布!快来试试!
九章开发板疑问
🔌手把手!1T1R 毫米波测距演示怎么跑?接入与 Python 环境配置
ONELAB开发套件常见问题Q&A:距离、角度、速度、距离门设置
【九章MCP验证板】开发环境配置教程
AI-WV02-32S 铁板烧焊接翻车
不用写代码,先跑通这两个开源例程,感受毫米波能做什么
【体验】Ai-WV02-32S 这不就跑起来了么
【问题】Ai-WV02-32S 短路
【B站/视频号直播预告】莫工带你跑通 AI→MCP 协议→硬件执行全
热帖排行
Ai-Thinker Skills 正式发布!快来试试!
九章开发板疑问
🔌手把手!1T1R 毫米波测距演示怎么跑?接入与 Python 环境配置
ONELAB开发套件常见问题Q&A:距离、角度、速度、距离门设置
【九章MCP验证板】开发环境配置教程
TB-04模块 从机收不到主机信息
AI-WV02-32S 铁板烧焊接翻车
<Ai-WB2-12F>这个模组请教个问题-FTP下载
统计信息
会员数: 31168 个
话题数: 42255 篇
首页
分类
我的