android– 如何使用Python执行adb命令?

android– 如何使用Python执行adb命令?,第1张

概述我想创建一个可用于执行Androidadb命令的python脚本.我看了https://github.combrady/python-adb,但似乎无法让它完美运作.有什么建议?解决方法:这个工具应该做的工作.https://pypi.python.org/pypi/pyadb/0.1.1我不得不修改一些函数让它在Python2.7上运行并使用子进程代替.这

我想创建一个可用于执行Android adb命令的python脚本.
我看了https://github.com/rbrady/python-adb,但似乎无法让它完美运作.
有什么建议?

解决方法:

这个工具应该做的工作.
https://pypi.python.org/pypi/pyadb/0.1.1

我不得不修改一些函数让它在Python 2.7上运行并使用子进程代替.这里修改了我的版本代码:

def __build_command__(self,cmd):    if self.__devices is not None and len(self.__devices) > 1 and self.__target is None:        self.__error = "Must set target device first"        return None    if type(cmd) is tuple:        a = List(cmd)    elif type(cmd) is List:        a = cmd    else:        a = [cmd]    a.insert(0, self.__adb_path)    if self.__target is not None:        a.insert(1, ['-s', self.__target])    return adef run_cmd(self, cmd):    """    Run a command against adb tool ($adb <cmd>)    """    self.__clean__()    if self.__adb_path is None:        self.__error = "ADB path not set"        return    try:        args = self.__build_command__(cmd)        if args is None:            return        # print 'args>', args        cmdp = subprocess.Popen(args, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE)        self.__output, self.__error = cmdp.communicate()        retcode = cmdp.wait()        # print 'stdout>', self.__output        # print 'stderr>', self.__error        if retcode < 0:            print >>sys.stderr, "Child was terminated by signal", -retcode        else:            return    except OSError, e:        self.__error = str(e)    return
总结

以上是内存溢出为你收集整理的android – 如何使用Python执行adb命令?全部内容,希望文章能够帮你解决android – 如何使用Python执行adb命令?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1117680.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-29
下一篇 2022-05-29

发表评论

登录后才能评论

评论列表(0条)

保存