Android   发布时间:2022-04-28  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了android – 如何使用Python执行adb命令?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我想创建一个可用于执行 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 a

def 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命令?所遇到的程序开发问题。

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签: