Android Studio在构建Kotlin项目时报告“无法识别启动活动:找不到默认活动”
我正在尝试使用Kotlin和Anko构建一个Android应用程序。 当我在Android Studio中选择“运行”时,出现错误:
无法识别启动活动:找不到默认活动
启动活动时出错
和应用程序不启动。 模拟器和真正的手机都出现这个错误。
为了尝试缩小这个问题,我尝试了几个示例Anko项目,其中包括android-anko-sample ,他们都展示了同样的破坏行为。
我有其他Android项目,我用Java编写,他们运行没有这个问题,这表明这是一个Kotlin或Anko特定的问题。 我甚至可以在我的一个Java应用程序和上面链接的“android-anko-sample”应用程序之间来回切换,并且始终如一地重现android-anko-sample的问题,而我的Java应用程序每次都能正常工作。
我已经看过涉及这个错误信息的其他问题,并且发布的解决方案要么不适用,要么没有帮助。
有一件事我注意到,奇怪的是,当我在Android Studio中打开AndroidManifest.xml
(这些Anko应用程序中的任何一个)时,活动的名称显示为红色,就好像它们是错误一样。 以下是来自android-anko-sample的内容:
请注意,该应用程序确实安装在手机/模拟器上,我可以点击图标并运行它。 当我从Android Studio中选择运行时,它不会自动启动,这很不方便。
我该如何解决这个问题?
我在用着:
- Android Studio 2.1.2
- Ubuntu Linux 16.04
- Oracle JDK 1.8.0_131-b11
代码在这里:
- https://github.com/vsouhrada/android-anko-sample
几个Android Studio窗格的完整内容可以在这个要点中获得:
- https://gist.github.com/xenomachina/e8027b385661038c3f020a543493eebf
这是由于没有在Android Studio中安装Kotlin插件。
要修复,转到文件→设置→插件→浏览存储库,找到“Kotlin”,并安装它。
- Kotlin Android Studio / IntelliJ“可以加入任务”检查警告
- 错误“不能为null”在Kotlin中
- 未解决的参考:数据绑定
- SimpleXML在Thread.getContextClassLoader()返回的类加载器可能失败之后抛出ClassNotFoundException
- Android DataBinding:Kotlin中的@BindingAdapter不识别lambda表达式
- getExternalFilesDir返回不一致的目录
- 本地委托属性和内联属性不支持增加赋值和增量
- 如何在Android Activity上使用Kotlin扩展函数进行空检查
- 无法访问Kotlin中的val