python3GUI--adb调试测试工具By:PyQt5(附下载地址)


一.准备工作

1.PyQt5

pyqt5是一套Python绑定Digia QT5应用的框架。它可用于Python 2和3。本教程使用Python 3。Qt库是最强大的GUI库之一。pyqt5的官方网站。 pyqt5做为Python的一个模块,它有620多个类和6000个函数和方法。这是一个跨平台的工具包,它可以运行在所有主要的操作系统,包括UNIX,Windows,Mac OS。pyqt5是双重许可。开发者可以在GPL和商业许可之间进行选择。

2.安卓环境

adb测试工具需要安卓环境,可以根据个人情况选择真机或者模拟器 2.1安卓手机

安卓(Android)是一种基于Linux内核(不包含GNU组件)的自由及开放源代码的操作系统。主要使用于移动设备,如智能手机和平板电脑,由美国Google公司和开放手机联盟领导及开发。Android操作系统最初由Andy Rubin开发,主要支持手机。2005年8月由Google收购注资。2007年11月,Google与84家硬件制造商、软件开发商及电信营运商组建开放手机联盟共同研发改良Android系统。随后Google以Apache开源许可证的授权方式,发布了Android的源代码。第一部Android智能手机发布于2008年10月。

2.1安卓模拟器

安卓模拟器是能在个人计算机运行并模拟安卓手机系统的模拟器,并能安装、使用、卸载安卓应用的软件,利用安卓模拟器,用户即使没有手机硬件设备,也能在模拟器中使用移动应用程序。安卓模拟器能在电脑上模拟出安卓手机运行环境,让用户在电脑上也能体验安卓游戏和应用。安卓模拟器是移动游戏市场的快速发展逐渐形成的一个独立行业。

本文采用的是模拟器。

3.介绍-adb

adb是Android Debug Bridge的缩写,意为Android系统的调试桥。通过adb我们可以在Eclipse中方面通过DDMS来调试Android程序,其实这就是用于谷歌Android系统的debug调试工具。 adb的工作方式比较特殊,采用监听Socket TCP 5554等端口的方式让IDE和Qemu通讯,默认情况下adb会daemon相关的网络端口,所以当我们运行APK安装器时adb进程就会自动运行。 除了上述的操作功能之外,我们还可以通过adb管理设备或手机模拟器的状态。还可以进行很多手机操作,比如刷ROM系统升级、运行shell命令等等。

工作原理如下图: 本软件需要将adb工具放在软件根目录中,分别是adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll,使用模拟器的朋友,直接复制模拟器根目录三个文件到软件根目录即可,使用真机的朋友,需要下载安卓SDK,可以参考,具体流程不在此赘述。

二.预览

1.启动

软件主界面。

2.检测设备

软件启动后会自动检测可用设备,选择了设备后,就能够激活左边的操作工具箱和右边的屏幕查看功能。

3-1.功能-基本

3-2.功能-查看

3-3.功能-性能

3-4.功能-按键

3-5.功能-应用

4.屏幕同步

开启此功能之后,模拟器/真机的屏幕就会同步到本程序中,下面我用一个动图演示: 由于我设置了10秒同步一次,所以会产生屏幕同步不及时的情况,这个时间暂未设置手动更改接口。

5.安装应用

通过手动选择安装包(.apk)安装安卓应用。注:此方法不支持文件名为中文的安装包。

三.设计思路

1.UI设计-原图

使用QT设计师很快就能设计出UI,整体水平布局,局部垂直布局。

2.UI设计-草图

3.功能设计-窗口

3.功能设计-主要功能

四.两个重点

1.设备连接

在软件启动后会对本地依赖文件进行判断,软件根目录需存在adb.exe、AdbWinApi.dll、AdbWinUsbApi.dll三个依赖文件,通过调用adb命令,搜索可用的设备并显示在comboBox中,鼠标双击设备名称实现设备的选择,之后激活左侧toolBox,完成设备的连接.

2.屏幕同步

五.总结

本次使用PyQt5以及adb工具开发了一款调试测试工具,免去了重复撰写代码的烦恼,可视化操作界面友好,功能多、实用性强!软件打包好放在了思路、代码方面有什么不足欢迎各位大佬指正、批评!

经验分享 程序员 微信小程序 职场和发展