gpt4 book ai didi

debugging - 为什么 Android Wear 无法通过蓝牙连接目标进行调试?

转载 作者:行者123 更新时间:2023-12-01 23:03:55 26 4
gpt4 key购买 nike

每当我在可穿戴模拟器上通过蓝牙激活调试时,设备就会开始在控制台上每隔 10 毫秒出现一次此错误:

08-07 12:15:53.472   1484-29405/com.google.android.apps.wearable.settings W/AdbTargetService﹕ error during createTcpConnection
java.net.ConnectException: failed to connect to localhost/127.0.0.1 (port 7272): connect failed: ECONNREFUSED (Connection refused)
at libcore.io.IoBridge.connect(IoBridge.java:124)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:163)
at java.net.Socket.startupSocket(Socket.java:590)
at java.net.Socket.tryAllAddresses(Socket.java:128)
at java.net.Socket.<init>(Socket.java:178)
at java.net.Socket.<init>(Socket.java:150)
at com.google.android.clockwork.settings.AdbTargetService$PipeControlThread.createTcpConnection(AdbTargetService.java:203)
at com.google.android.clockwork.settings.AdbTargetService$PipeControlThread.access$400(AdbTargetService.java:81)
at com.google.android.clockwork.settings.AdbTargetService$PipeControlThread$2.run(AdbTargetService.java:153)
at java.lang.Thread.run(Thread.java:818)
Caused by: android.system.ErrnoException: connect failed: ECONNREFUSED (Connection refused)
at libcore.io.Posix.connect(Native Method)
at libcore.io.BlockGuardOs.connect(BlockGuardOs.java:111)
at libcore.io.IoBridge.connectErrno(IoBridge.java:137)
at libcore.io.IoBridge.connect(IoBridge.java:122)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:183)
            at java.net.PlainSocketImpl.connect(PlainSocketImpl.java:163)
            at java.net.Socket.startupSocket(Socket.java:590)
            at java.net.Socket.tryAllAddresses(Socket.java:128)
            at java.net.Socket.<init>(Socket.java:178)
            at java.net.Socket.<init>(Socket.java:150)
            at com.google.android.clockwork.settings.AdbTargetService$PipeControlThread.createTcpConnection(AdbTargetService.java:203)
            at com.google.android.clockwork.settings.AdbTargetService$PipeControlThread.access$400(AdbTargetService.java:81)
            at com.google.android.clockwork.settings.AdbTargetService$PipeControlThread$2.run(AdbTargetService.java:153)
            at java.lang.Thread.run(Thread.java:818)
08-07 12:15:53.476 1229-1229/system_process D/ZenLog﹕ disable_effects: 0|com.google.android.apps.wearable.settings|11003|null|1000,listenerHints

在我的代码中,我将消息从可穿戴设备发送到手持设备。消息已正确发送,但调试器不会在手持模块上的 WearableListenerService 类中的任何断点处停止,并且似乎该代码没有被执行。

补充信息:

  • 设备:Genymotion Samsung Galaxy S4,API 19, 4.4.4。
  • 可穿戴设备:ADV Emulator Square,API 21
  • 相同的应用程序ID
  • 相同的版本号
  • 可穿戴项目作为依赖项添加到手持项目中,为 wearApp project(':wear')
  • <uses-permission>标签
  • 通过 apk 安装在模拟器上的 Android Wear:com.google.android.wearable.app-1.1.1.2016316-702016316-minAPI18
  • 在手持设备和配对设备上激活蓝牙调试
  • 主机:已连接目标:已断开连接。执行 adb -s 192.168.56.102:5555 forward tcp:4444 localabstract:/adb-hub
    adb connect localhost:4444
    时连接不上,然而,第三台无用的设备似乎是在永久离线状态下创建的,它不能用于在其上运行任何东西:

adb devices Connected devices

也不撤销权限或恢复出厂设置(如帖子 Android Wear device selection box says "offline localhost:4444 minSdk (API 20) > deviceSdk (API 1)" 中的建议)) 正在工作。

最佳答案

碰巧我误解了一切。如果您使用的是模拟可穿戴设备,则无需:

  • 在可穿戴设备中激活“通过蓝牙调试”。
  • 使用 adb -s 192.168.56.102:5555 forward tcp:4444 localabstract:/adb-hub 重定向端口和adb connect localhost:4444.
  • 甚至目标设备和主机设备都可能显示为“断开连接”。

您只需要执行 adb -shandheldDeviceName forward tcp:5601 tcp:5601 以便手持设备与模拟器配对,然后您就可以开始调试而无需担心。

问题在于,在 Android Studio 中,您一次只能调试一个模块,其调试图标为:Debug icon .

如果您想同时调试两个模块以便跟踪所有断点,您必须对一个模块使用调试按钮,然后将调试器附加到另一个设备 Attach to debugger to Android process icon .

配对后,两个设备都将在显示其进程的列表中可用。

关于debugging - 为什么 Android Wear 无法通过蓝牙连接目标进行调试?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31876957/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com