安卓测试助手(原名 安卓调试精灵) 已经来到了2.x版本。
安装版本下载:http://aispeech-lyra.oss-cn-hangzhou.aliyuncs.com/tools/AdbHelp/adbhelpsetup.exe
免安装版本下载:http://aispeech-lyra.oss-cn-hangzhou.aliyuncs.com/tools/AdbHelp/AdbHelp_20201201.zip
除了修复已知bug外,最大的的改进是支持 python脚本开发,其原理是基于py4j进行数据交互。
下面示例演示如何开发一个python脚本,和 安装测试助手 进行数据交互 【基于pycharm IDE】
# 首先安装py4j: pip install py4j
#
# 本 demo 基于py4j + Python 3.7.9,演示如何和 安装测试助手 进行数据交互:
# 1, 发送命令给 安装测试助手 执行,并获取返回的数据
# 2, 从 安装测试助手 获取实时日志,可用于分析app运行状态from py4j.java_gateway import JavaGateway
class PyNotification():
def onMessage(self, cmd,data):
print(cmd+" " +data) ##日志输出: cmd=log ,data=日志的具体内容
return ""
def toString(self): #必须要定义toString,不然会报错
return super.__str__(self);
class Java:
implements = ['com.adbhelp.py4j.INotification'] #标识继承java的接口
if __name__ == '__main__':
gateway = JavaGateway(start_callback_server=True) # connect to the JVM
javaEntry = gateway.entry_point # get the AdditionApplication instance
retValue = javaEntry.exeAdbCmd("top -n 1") # call the addition method
print("执行结果:\n" + retValue) #打印命令的执行结果
operator = PyNotification();
javaEntry.registerMsgCallback(operator) # 这个对象传给java,这样java就持有Notification对象,实现java主动发送数据给py,例如日志数据的发送
javaEntry.setAttribute("log","true"); #打开日志输出,日志通过 onMessage 输出
#javaEntry.setAttribute("log","false"); # 关闭日志显示
启动安卓测试助手2.0,然后运行上面的脚本。
基于实时日志可以分析apk的运行状态,监控anr和died等各种异常。
欢迎大家尝试。