You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

技术求助:如何通过Python在LDPlayer模拟器中打开Discord应用

解决LDPlayer启动后无法通过ADB打开Discord的问题

你的代码存在几个关键问题导致无法启动Discord,以下是排查和修复方案:

核心问题分析

  1. 路径转义错误:ldplayer_path中的反斜杠未转义,Python会将\L这类字符解析为转义序列,导致无法正确识别模拟器路径。
  2. 未等待模拟器完全就绪:process.wait()仅等待LDPlayer进程启动,但模拟器加载Android系统、完成初始化需要额外时间,此时直接执行ADB命令会因设备未就绪而失败。
  3. ADB设备ID与Activity路径可能错误:
    • LDPlayer的ADB设备ID不一定是emulator-5554,需确认实际设备标识
    • Discord的主Activity路径格式错误,正确的组件路径需区分大小写和层级结构

修复后的代码

import subprocess
import requests
from time import sleep

# 获取代理IP
response = requests.get("https://app.proxyno1.com/api/change-key-ip/my-apikey")
status = response.json()["message"]
print('Status:', status)

# 启动LDPlayer模拟器(修正路径转义)
ldplayer_path = r"C:\LDPlayer\LDPlayer9\dnplayer.exe"
adb_path = r"C:\Users\PC\Desktop\Test\platform-tools\adb.exe"
process = subprocess.Popen(ldplayer_path)
sleep(30)  # 等待模拟器完成系统初始化,时间可根据实际调整

# 确保ADB与设备连接(可选,若设备未自动识别)
subprocess.run([adb_path, "connect", "127.0.0.1:5554"])

# 启动Discord,使用正确的组件路径
subprocess.run([adb_path, "shell", "am", "start", "-s", "emulator-5554", "-n", "com.discord/.main.MainActivity"])

关键验证步骤

  1. 确认ADB设备ID:
    手动打开LDPlayer后,在命令行执行以下命令:

    adb devices
    

    输出中显示的设备标识(如emulator-5554或127.0.0.1:5555)需替换到代码的-s参数中。

  2. 确认Discord的正确启动Activity:
    执行以下命令获取Discord的可启动Activity:

    adb shell dumpsys package com.discord | findstr "launchable-activity"
    

    通常输出为launchable-activity: name='com.discord.main.MainActivity',对应组件路径为com.discord/.main.MainActivity。

  3. 手动验证ADB命令:
    在命令行执行以下命令,确认是否能正常启动Discord:

    adb -s [你的设备ID] shell am start -n com.discord/.main.MainActivity
    

    如果手动执行失败,检查模拟器中是否已正确安装Discord,或是否有其他进程占用ADB端口。

内容的提问来源于stack exchange,提问作者Kira

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 12:40:53