ADB获取手机基础数据信息

在之前的文章https://blog.csdn.net/u013379032/article/details/106568983 上简单地对PerfDog的使用方式进行了介绍,该工具对应用并没有多大的要求,因此估摸着大多数的应用都是通过ADB指令集进行获取的。整合了一下相关的经验。

首先,对于通过ADB连接到电脑上的设备,我们可以通过

adb devices

该指令获取到一个设备列表,如果存在多台设备,那么之后的指令便需要通过adb -s <设备号> 进行指定,否则将会出现错误。比如,我执行了该语句得到了结果:

那么之后所制定的就应该用 adb -s 44dd1836进行指定。如果只存在一台设备,可以指定也可以不指定。

1. 基础设备信息获取

使用ADB能获取到的基础设备信息特别多,这边以PerfDog能够获取到的信息列表作为一个例子:

根据上图,我们将通过以下的指令获取,其中,Screen Size和 LMK Threshold这两个信息仍然未找到相应的方法。

1. adb shell getprop ro.product.system.model
2. adb shell getprop ro.product.model
3. adb shell getprop ro.build.version.release
4. adb shell getprop ro.product.board
5. adb shell getprop ro.product.cpu.abi
6. adb shell cat /proc/cpuinfo | findstr processor   获取结果的长度
7. adb shell cat /sys/devices/system/cpu/cpu0/cpufreq/cpuinfo_max_freq   cpu0-cpu8
8. adb shell dumpsys SurfaceFlinger | findstr GLES
9. adb shell wm size
10. can’t get
11.adb shell cat /proc/meminfo | findstr MemTotal
12. can’t get 
13.adb shell cat /proc/meminfo | findstr SwapTotal
14.adb root

2. 通过ADB指令启动设备上相应的app

前提: 我们需要获取到要启动的app的Package name, 一般情况下是com.xxx.xxx这样格式,如果没有的话,可以下载“包名查看器”来查看。

(0) 如果不想装包名管理器,可以先在手机上开启该APP将其处于前台,执行如下指令

adb shell dumpsys window | findstr mCurrentFocus

就能够直接获取到<package-name>/<activity-name> 这样可以直接跳过(1)

(1) 先通过 Package-name 获取 Activity Name(这边注意的一点是,在Android应用中,默认的主Activity Name都是MainActivity, 但是在Unity应用中,默认的是UnityPlayerActivity,同时也可以由开发者在xml中自己进行配置,因此这一步还是需要的,不能省略)

windows:

adb shell dumpsys package <package-name> | findstr MainActivity

macos or other linux:

adb shell dumpsys package <package-name> | grep MainActivity

这样会获取到结果

"6f673b2 <package-name>/<activity-name> filter a36027e“

通过对字符串进行处理就可以得到<activity-name>,或者也可以直接获取<package-name>/<activity-name>

(2) 通过解析出来的Activity-name启动应用

 adb shell am start -n <PackageName>/<ActivityName> 

此时会有以下的几种状态:

1)如果应用还没启动,会显示如下信息:

Starting: Intent { cmp=<package-name>/<activity-name> }

    然后开始启动相应的APP

2) 如果应用已经启动并且处于前台的话,会出现如下信息,对游戏没有其他影响

Starting: Intent { cmp=<package-name>/<activity-name> }
Warning: Activity not started, its current task has been brought to the front

3)如果应用已经启动但是处于后台的话,依旧会出现如下信息,并且将游戏置于前台,对游戏没有其他影响

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值