我想扩展monkeyrunner API的MonkeyDevice类。
我的派生类如下所示。

from com.android.monkeyrunner import MonkeyDevice, MonkeyRunner

class TestDevice(MonkeyDevice):
    def __init__(self, serial=None):
        MonkeyDevice.__init__(self)
        self = MonkeyRunner.waitForConnection(deviceId=serial)
        self.serial = serial

当我从另一个模块调用test_dev = TestDevice(serial)时,出现以下错误:
    test_dev = TestDevice(serial)
TypeError: _new_impl(): 1st arg can't be coerced to com.android.monkeyrunner.core.IMonkeyDevice

我究竟做错了什么?

提前致谢!

最佳答案

似乎您无法在不调用工厂函数MonkeyDevice的情况下直接初始化waitForConnection实例。因此,相反,您需要在self函数中分配__new__(),以便MonkeyDevice在将该实例称为IMonkeyDevice之前将其识别为是从__init__继承的实例

例子:

class TestDevice(MonkeyDevice):
    def __new__(self, serial=None):
        return MonkeyRunner.waitForConnection(deviceId=serial)
    def __init__(self):
        MonkeyDevice.__init__(self)

关于android - 如何从MonkeyDevice继承?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7433433/

10-10 22:16