为什么我的 Python 代码 ppadb 无法连接到 Memu?从 cmd 行可以 adb 到 Memu。 Bluestacks adb python 代码有效但 Memu 无效

Why does my Python code ppadb not connect to Memu? From cmd line can adb to Memu. Bluestacks adb python code works but not Memu

我的电脑上有 Memu 和 Bluestacks 运行。我在 bluestacks 上与 adb 完全交互。但是我无法使用我的 python 代码使用 ppadb 连接到 Memu。

如果我使用 windows 和命令行“adb -s 127.0.0.1:21503 shell”我可以访问 Memu 对于使用“adb -s emulator-5554 shell”

的 Bluestacks 也是如此

使用此 Python 代码,我可以连接到 Blue Stacks 并进行交互(例如屏幕截图)

import ppadb
from ppadb.client import Client

adb = Client(host='127.0.0.1', port=5037)
#adb = Client()
print(adb.version())
print("getting list of devices")
devices = adb.devices()
for onedevice in devices:
    print(str(onedevice))
print("connecting to Memu")
device = adb.device("emulator-5554")
print("connected")

我使用以下 windows 命令行命令连接到 Memu“adb connect 127.0.0.1:21503”

“adb devices -l”的输出如下

C:\Program Files\Microvirt\MEmu>adb devices -l
List of devices attached
emulator-5554          device product:OnePlus5 model:ONEPLUS_A5000 device:OnePlus5
127.0.0.1:21503        device product:A5010 model:A5010 device:A5010

我正在使用以下 python 代码尝试连接到 Memu,但它只是挂起.....

import ppadb
from ppadb.client import Client

adb = Client(host='127.0.0.1', port=21503)
#adb = Client()
print(adb.version())
print("getting list of devices")
devices = adb.devices()
for onedevice in devices:
    print(str(onedevice))
print("connecting to Memu")
device = adb.device("127.0.0.1:21503")
print("connected")

有人会认为,如果我可以与 Memu 的 shell 交互,那么我应该可以通过 Python 进行连接。

有什么明显的我做错了吗?

连接到 adb 服务器而不是设备

adb = Client(host='127.0.0.1', port=5037)