审UI 还在找设备一个一个看效果?一段脚本都搞定

开发 开发工具
昨天发 wm 适配的文章之后,发现好像还是不方便。每次都需要一次次修改参数,来完成对设备参数的调整。而且通常,我们都是一个页面一个页面开发的,如果可以一次将一个页面,在不同设备的显示情况,截图出来,应该就会更方便一点。

[[203746]]

 一、前言

昨天发 wm 适配的文章之后,发现好像还是不方便。每次都需要一次次修改参数,来完成对设备参数的调整。而且通常,我们都是一个页面一个页面开发的,如果可以一次将一个页面,在不同设备的显示情况,截图出来,应该就会更方便一点。

有关 wm 命令相关的内容,不了解的可以先看看之前的文章《当你只有一个设备的时候,如何做好屏幕适配》。

所以我写了个 Python 的脚本,用的上的就看看,用不上的权当娱乐了。

因为 Python 的版本差异,这里特别说明一下,我这边的运行环境是 2.7.10。

二、利用 Python 去修改参数并截图

利用 Python 写逻辑脚本还是很方便的,大概需要用到的就是 Python、adb 命令、wm 命令等等。

先说说思路吧。

其实逻辑很简单,大概的步骤如下:

利用 Python 去调用 adb shell wm 命令,修改屏幕参数。

再使用 adb shell screencap 进行截屏。

将截到的图片,利用 adb pull 命令,复制到本地。

根据配置的设备信息,重复以上逻辑。

逻辑还是很清晰的,直接上代码了。

先做一下基本的定义,将不变的命令提取出来,并获取到当前的脚本的目录地址。

在初始化的时候,判断本地是否有 devicescreen 文件夹,如果没有就创建它。

到最重要的方法了,根据传递的参数,修改设备的屏幕信息,并截图保存到本地。

因为有一些设备上,修改了参数之后设备会有卡顿和刷新的情况,所以在这些操作之后,都粗暴的等待了一会儿,我这里设定的是 3s。

使用完成之后,在将屏幕 reset 到最初的状态。

到这里就已经完成了主要逻辑的编写,然后只需要配置好我们需要的设备参数即可。这里搜集了比较常见的设备。

完成之后,调用 python start.py 或者在 PyCharm 里直接运行。最终会把运行的结果,保存在本地的 devicescreen 目录下。

这是整个项目的结构。

在 devicescreen 目录下,就可以看到我们需要的不同设备的截图了。

这里我用了掘金的个人主页页面,可以看到在不同设备下显示效果的截屏。

 


 

三、小结

其实 wm 命令,还是有一些缺陷的,最常见的就是修改了屏幕参数,页面并没有刷新正确,这个时候退出 App 再重新进入就好了。

这里的使用方式只能作为一个辅助,如果遇上无法正确修改的页面,就需要退出重进的话,这样一个简单的脚本就无效了。

所以这个脚本只适用于部分场景,非所有场景都适用。

虽然关键代码文内都有,但是如果你想要源码的话,可以在公众号回复关键字『适配脚本』。


【本文为51CTO专栏作者“张旸”的原创稿件,转载请通过微信公众号联系作者获取授权】

戳这里,看该作者更多好文

责任编辑:武晓燕 来源: 51CTO专栏
相关推荐

2014-10-14 15:50:19

UIAndroid

2014-10-14 10:01:10

UIAndroid

2018-06-23 08:02:31

程序员代码故事

2014-07-08 09:27:24

SQLSERVER脚本

2022-05-26 10:42:30

数据权限注解

2022-06-14 10:47:27

项目日志PUT

2016-10-20 19:27:00

开源项目bootstrapcss框架

2021-01-07 20:45:06

Firefox 85Firefox浏览器

2023-05-22 09:10:53

CSSloading 效

2020-04-17 10:58:12

UI设计师按钮

2016-03-01 14:37:47

华为

2015-04-30 08:03:36

2022-06-27 08:36:27

分布式事务XA规范

2011-05-27 17:51:00

Android

2021-12-14 17:19:15

存储数据

2016-09-26 17:26:20

2023-01-03 12:30:25

架构CPUGPU

2022-06-06 08:42:04

spring-boo开发接口防盗刷

2018-01-11 16:38:17

井盖大数据城市治理

2010-09-25 09:04:01

私有云
点赞
收藏

51CTO技术栈公众号