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

模拟器调试Wear表盘时出现“无法更换表盘”错误求助

问题描述

克隆了一个Wear表盘项目,使用Run选项(或直接创建安装APK)时可正常运行,但使用Debug选项时出现“Cannot change watch face”错误。已完成设备配对,并遵循官方Wear调试设置步骤操作。请问哪里操作有误?是否可以在模拟器上调试表盘?

错误截图

错误日志(中文翻译)
com.intellij.execution.ExecutionException: 启动表盘时出错,消息:正在广播: Intent { act=com.google.android.wearable.app.DEBUG_SURFACE flg=0x400000 (包含附加信息) }
    广播完成: result=2, data="set-watchface failed. com.google.wear.services.watchfaces.active.WatchFaceChangeException: 无法更改表盘,错误代码: 4"
    at com.android.tools.idea.run.configuration.execution.AndroidWatchFaceConfigurationExecutor.setWatchFace(AndroidWatchFaceConfigurationExecutor.kt:82)
    at com.android.tools.idea.run.configuration.execution.AndroidWatchFaceConfigurationExecutor.launch(AndroidWatchFaceConfigurationExecutor.kt:69)
    at com.android.tools.idea.run.configuration.execution.AndroidConfigurationExecutorBase$debug$1.invokeSuspend(AndroidConfigurationExecutorBase.kt:118)
    at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
    at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:108)
    at kotlinx.coroutines.EventLoopImplBase.processNextEvent(EventLoop.common.kt:280)
    at kotlinx.coroutines.BlockingCoroutine.joinBlocking(Builders.kt:85)
    at kotlinx.coroutines.BuildersKt__BuildersKt.runBlocking(Builders.kt:59)
    at kotlinx.coroutines.BuildersKt.runBlocking(Unknown Source)
    at com.intellij.openapi.progress.CoroutinesKt$runBlockingCancellable$1.invoke(coroutines.kt:133)
    at com.intellij.openapi.progress.CoroutinesKt$runBlockingCancellable$1.invoke(coroutines.kt:127)
    at com.intellij.openapi.progress.ContextKt.prepareIndicatorThreadContext$lambda$5(context.kt:110)
    at com.intellij.openapi.progress.impl.CoreProgressManager.silenceGlobalIndicator(CoreProgressManager.java:972)
    at com.intellij.openapi.progress.ContextKt.prepareIndicatorThreadContext(context.kt:108)
    at com.intellij.openapi.progress.ContextKt.prepareThreadContext(context.kt:78)
    at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:127)
    at com.intellij.openapi.progress.CoroutinesKt.runBlockingCancellable(coroutines.kt:122)
    at com.android.tools.idea.run.configuration.execution.AndroidConfigurationExecutorBase.debug(AndroidConfigurationExecutorBase.kt:100)
    at com.android.tools.idea.execution.common.AndroidConfigurationExecutorRunProfileState.debug(AndroidConfigurationExecutor.kt)
    at com.android.tools.idea.run.DefaultStudioProgramRunner.run(DefaultStudioProgramRunner.kt:103)
    at com.android.tools.idea.execution.common.AndroidConfigurationProgramRunner$execute$5.run(AndroidConfigurationProgramRunner.kt:126)
    at com.intellij.openapi.progress.impl.CoreProgressManager.startTask(CoreProgressManager.java:434)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.startTask(ProgressManagerImpl.java:132)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcessWithProgressAsynchronously$5(CoreProgressManager.java:484)
    at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$4(ProgressRunner.java:248)
    at com.intellij.openapi.progress.ProgressManager.lambda$runProcess$0(ProgressManager.java:73)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$runProcess$1(CoreProgressManager.java:192)
    at com.intellij.openapi.progress.impl.CoreProgressManager.lambda$executeProcessUnderProgress$12(CoreProgressManager.java:610)
    at com.intellij.openapi.progress.impl.CoreProgressManager.registerIndicatorAndRun(CoreProgressManager.java:685)
    at com.intellij.openapi.progress.impl.CoreProgressManager.computeUnderProgress(CoreProgressManager.java:641)
    at com.intellij.openapi.progress.impl.CoreProgressManager.executeProcessUnderProgress(CoreProgressManager.java:609)
    at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:78)
    at com.intellij.openapi.progress.impl.CoreProgressManager.runProcess(CoreProgressManager.java:179)
    at com.intellij.openapi.progress.ProgressManager.runProcess(ProgressManager.java:73)
    at com.intellij.openapi.progress.impl.ProgressRunner.lambda$submit$5(ProgressRunner.java:248)
    at com.intellij.openapi.progress.impl.ProgressRunner$ProgressRunnable.run(ProgressRunner.java:498)
    at com.intellij.util.concurrency.ChildContext$runAsCoroutine$1.invoke(propagation.kt:81)
    at com.intellij.util.concurrency.ChildContext$runAsCoroutine$1.invoke(propagation.kt:81)
    at com.intellij.util.concurrency.ChildContext.runAsCoroutine(propagation.kt:86)
    at com.intellij.util.concurrency.ChildContext.runAsCoroutine(propagation.kt:81)
    at com.intellij.openapi.progress.impl.ProgressRunner.lambda$launchTask$18(ProgressRunner.java:464)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:702)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1$1.run(Executors.java:699)
    at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
    at java.base/java.util.concurrent.Executors$PrivilegedThreadFactory$1.run(Executors.java:699)
    at java.base/java.lang.Thread.run(Thread.java:840)
Caused by: com.android.tools.deployer.DeployerException: 组件激活异常
    at com.android.tools.deployer.DeployerException.componentActivationException(DeployerException.java:678)
    at com.android.tools.deployer.model.component.WearComponent.runStartCommand(WearComponent.java:131)
    at com.android.tools.deployer.model.component.WatchFace.activate(WatchFace.java:61)
    at com.android.tools.deployer.Activator.activate(Activator.java:85)
    at com.android.tools.deployer.Activator.activate(Activator.java:71)
    at com.android.tools.idea.run.configuration.execution.AndroidWatchFaceConfigurationExecutor.setWatchFace(AndroidWatchFaceConfigurationExecutor.kt:79)
    ... 47 more
2024-07-01 17:38:28,566 [9108713]   INFO - #c.i.w.i.i.j.s.JpsGlobalModelSynchronizerImpl - 正在将全局实体保存到文件
解决建议
  • 手动切换表盘后调试:先通过Run安装APK,在手表/模拟器上手动设置该表盘为当前激活表盘,再启动Debug模式,此时调试器会直接附加到已运行的表盘进程,无需系统自动切换。
  • 调整Debug配置:在Android Studio的Run/Debug Configurations中,将Launch选项设置为Nothing,安装完成后手动启动表盘,再通过Run > Attach Debugger to Process选择表盘对应的进程进行调试。
  • 模拟器调试可行性:完全可以在Wear OS模拟器上调试表盘。需要创建Wear OS虚拟设备,确保镜像版本与项目编译SDK版本兼容,同时开启模拟器的开发者选项和USB调试功能,操作步骤与实体设备一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 13:37:32