【MonkeyRunner】用python编写脚本查看设备信息
原以为是个简单的操作,在实践的时候发现了一些问题。
python脚本 test.py:
from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
device = MonkeyRunner.waitForConnection()
a = device.getProperty("build.device")
print(a)
在cmd中运行脚本
>>>monkeyrunner tset.py
这样会报错
LookupError: unknown encoding 'ms936'
在网上查阅一番后,原因是编码格式不同,查到的解决方案为:
在cmd中先输入chcp 437
然后再运行脚本
上面这种方法亲测可用,但是本人觉得这个需要提前在cmd中输入的方法很难受,于是提出另一种解决方法:
在Python 中获取设备信息的时候转换成string类型,就可以正常输出了
修改test.py 的第三行如下:
a = str(device.getProperty("build.device"))
然后再运行就可以输出设备名称了。
通过MonkeyDevice.getProperty()方法可以查看很多设备信息
build.board 设备系统板的的代码名称
build.brand 操作系统的提供商
build.device 设备设计名称
build.fingerprint 设备唯一标识符
build.ID 设备编号
build.model 设备的用户可见名称
build.product 整体产品名称
build.CPU_ABI 代码指令集
build.manufacturer 制造商
build.version.incremental 内部代码
build.version.release 此版本用户可见名称
build.version.sdk 此版本用户可见SDk版本
build.version.codename 开发代号
display.width 设备显示宽度
display.height 设备显示高度
display.density 显示逻辑密度
am.current.package 正在运行的包的名称
am.current.action 正在进行的活动
am.current.comp.class 启动当前活动的组件的类名
am.current.comp.package 启动当前多动的组件的包名
am.current.data 当前活动的Intent中包含的数据
am.current.categories 当前活动的Intent指定的类别
clock.realtime 设备重启后的毫秒数,包括睡眠时间
clock.uptime 设备重启后的毫秒数,不包含睡眠时间
clock.millis 自1970年1月1日起到当前的毫秒数