python封装安卓app_App操作的命令封装(python)

本文介绍了如何使用Python封装Android设备的常用命令,包括获取设备列表、设备状态、安装卸载应用、读取设备信息等。同时,还提供了ADB类用于执行ADB命令,以及Apk类用于解析APK文件信息。
摘要由CSDN通过智能技术生成

基本封装了Android常用的命令,IOS部分暂时没有支持太多,等后期慢慢维护

使用方法

from device_command import Device

#获取android设备列表

android_device_list = Device.get_android_devices()

ios_device_list = Device.get_ios_devices()

整体代码

# -*- coding: utf-8 -*

import os

import sys

import platform

import subprocess

import getopt

import re

"""

python3 reduce函数需要单独引入

"""

try:

from functools import reduce

except:

pass

"""

获取ios和android设备列表的常用命令封装,兼容window linux 和 mac

ios设备列表需要安装依赖

"""

class Shell:

def __init__(self):

pass

@staticmethod

def invoke(cmd):

output, errors = subprocess.Popen(cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()

o = output.decode("utf-8")

return o

# 判断系统类型,windows使用findstr,linux使用grep

system = platform.system()

if system is "Windows":

find_util = "findstr"

else:

find_util = "grep"

# 判断是否设置环境变量ANDROID_HOME

if "ANDROID_HOME" in os.environ:

if system == "Windows":

command = os.path.join(os.environ["ANDROID_HOME"], "platform-tools", "adb.exe")

else:

command = os.path.join(os.environ["ANDROID_HOME"], "platform-tools", "adb")

else:

print("Adb not found in $ANDROID_HOME path")

class ADB(object):

"""

参数: device_id

"""

def __init__(self, device_id=""):

if device_id == "":

self.device_id = ""

else:

self.device_id = "-s %s" % device_id

def adb(self, args):

cmd = "%s %s %s" % (command, self.device_id, str(args))

return Shell.invoke(cmd)

def shell(self, args):

cmd = "%s %s shell %s" % (command, self.device_id, str(args),)

return Shell.invoke(cmd)

def get_device_state(self):

"""

获取设备状态: offline | bootloader | device

"""

return self.adb("get-state").stdout.r

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值