使用Android Studio模板创建的可穿戴应用程序出现“找不到默认活动”错误。

23

我创建了一个穿戴设备应用,使用了Android Studio模板进行创建,并且除将一个按钮拖放到穿戴设备应用程序的MainActivity之外,没有做过任何更改。

当我尝试在“运行/调试配置”中运行手表应用程序时,如果选中“启动默认活动”,则会出现错误消息:“错误:未找到默认活动”。

我在此之前搜索了此类问题的帖子,答案是需要修改模块源代码等内容。在这种情况下真的是正确的解决方案吗?如果是这样,那为什么Android Studio没有在一开始正确地设置所有东西呢?毕竟项目是由AS模板创建的,为什么模板没有正确地设置事物呢?

如果那不适用于该情况,那我如何使手表应用程序在使用Studio直接执行和启动其活动时成功?

Studio版本:1.0.2


在添加按钮之前,您能否调试应用程序?另外,请仔细检查您的“Activity”名称是否与“AndroidManifest”文件中指定的名称相匹配。最后,您是否使用任何第三方库?Gradle默认会合并清单文件。如果库清单文件中指定了另一个“Activity”,则可能会导致问题。还可以尝试此帖子中的建议:http://stackoverflow.com/questions/24437459/default-activity-not-found-android-studio-0-6-1 - Willis
感谢您的评论。在添加按钮之前,我遇到了同样的错误。我没有包含任何额外的库。该活动被称为MainActivity,这也是清单中的名称。似乎链接中的答案都不适用。 - Gruntcakes
如果我明确选择活动作为启动活动而不是选择启动默认活动,我可以消除错误,但我想知道为什么会出现这个错误,以及它是否表明将来会出现更多问题。 - Gruntcakes
3个回答

60

我在添加手表表盘后也遇到了类似的问题,想和大家分享一下如何解决。

在Android Studio 2.2.1中:运行 -> 编辑 -> 您的应用程序 -> 手表表盘 -> 常规 -> 启动选项 -> 启动:无

默认情况下,我的选择是运行默认活动,这对于手表表盘来说是不正确的。

展示启动选项为“无”的运行配置截图


2
在wear的AndroidManifest.xml文件中,确保至少有一个活动,并且您想要启动的活动具有以下意图过滤器:
<intent-filter>
  <action android:name="android.intent.action.MAIN" />
  <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

这个答案中提到了另一个提示。


谢谢。这是一个简单的答案,解决了谷歌在他们的示例中拒绝修复的烦人问题。 - IgorGanapolsky
根据https://codelabs.developers.google.com/codelabs/watchface/index.html#0,Kevin Gray的答案是正确的方法,不要通过修改清单来实现。 - Daniel F

1

手表表盘的示例代码包含以下注释

重要提示:由于手表表盘应用程序在其项目中没有默认活动,因此您需要将配置设置为“不启动活动”,以适用于 Wear 和/或应用程序模块。如果您不确定如何执行此操作,请查看 Google 手表表盘代码实验室中的“运行入门项目”部分: https://codelabs.developers.google.com/codelabs/watchface/index.html#0


谢谢兄弟。我认为这应该被标记为答案。不确定为什么人们没有投票支持这个。这正是在Readme文件中提到的。 - arango_86

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接