我是Android的新手,我遇到了一个问题。 控制台说“无法识别启动活动:未找到默认活动”。 我添加了
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
在清单中。 我已经尝试过Invalidate caches / Restart,但仍然无效。 并且包含主要活动的类文件在android studio中变为绿色。我不知道这意味着什么。 这是我的清单文件。
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mrrobot.mycoolweather" >
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<Activity android:name="com.example.mrrobot.mycoolweather.activity.ChooseAreaActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</Activity>
</application>
</manifest>
答案 0 :(得分:26)
对于清单中的主要活动,您必须使用类别LAUNCHER
(启动应用中的第一个活动)添加此内容:
<activity
android:name=".MainActivity"
android:label="YourAppName"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
对于其他活动,您必须将类别更改为DEFAULT
:
<activity
android:name=".OtherActivity"
android:theme="@style/AppTheme.NoActionBar" >
<intent-filter>
<action android:name="package.OtherActivity" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
检查此Activity和此Start Another Activity
所以你的代码是:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.mrrobot.mycoolweather" >
<uses-permission android:name="android.permission.INTERNET"/>
<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:supportsRtl="true"
android:theme="@style/AppTheme" >
<activity
android:name=".activity.ChooseAreaActivity"
android:label="@string/app_name" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
答案 1 :(得分:8)
答案 2 :(得分:1)
如果您在升级IDEA,升级Android Studio版本或生成新APK后发现错误,则可能需要刷新IDE的缓存。
File -> Invalidate Caches / Restart...
答案 3 :(得分:0)
我的主要活动未在Android Manifest File中声明。这就是出现错误的原因。出现此错误是因为Android Manifest文件的声明问题。请检查一下。 :D
答案 4 :(得分:0)
清单文件中声明的元素名称错误 (将活动更改为活动)
<Activity android:name="com.example.mrrobot.mycoolweather.activity.ChooseAreaActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</Activity>
将其更改为:
<activity android:name="com.example.mrrobot.mycoolweather.activity.ChooseAreaActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN"/>
<category android:name="android.intent.category.LAUNCHER"/>
</intent-filter>
</activity>
答案 5 :(得分:0)
我的项目遇到以下问题:
未找到默认活动
xml intellisense无法正常工作
kotlin标准功能未检测到
我所有上述问题都通过在主路径中删除Android Studio 3.3的系统缓存得以解决,它对我来说很好用, 步骤:
退出Android Studio
转到路径> C:\ Users \ YOUR_WINDOW_USER_NAME.AndroidStudio3.3 \ system
然后您有一个\ caches文件夹,请删除此缓存文件夹
现在打开Android Studio并加载您的项目
为我工作。.我浪费了几个小时来解决这个问题,最终以这种方式解决了。
答案 6 :(得分:0)
这里是解决此问题的方法。
转到
C:\ Users \ Admin.AndroidStudio3.2 \ system \ caches
删除缓存文件夹,现在打开工作室。它将起作用...
答案 7 :(得分:0)
这件事在我身上也花了很长时间才找出原因,但是我发现一个奇怪的错误是,如果您在代码中使用断点运行应用程序而没有调试模式,则会导致此错误发生。
目前的快速解决方案:仅将断点用于调试模式。
答案 8 :(得分:0)
我在这里尝试过解决方案和其他问题
在结束时,活动标签为 <activity android:name="com.exmaple.todo.MainActivity" />
当我将其更改为 <activity android:name=".MainActivity" />
应用时有效。
如果其他解决方案不起作用,希望对您有所帮助。
答案 9 :(得分:0)
就我而言 android manifest 是正确的。我试图使缓存无效并重新启动,但没有奏效。然后重建项目,它也不起作用。
然后我意识到昨晚我添加了一个新库来构建 Gradle,它是这样的:
implementation 'com.yalantis:eqwaves:1.0.1'
删除后一切正常。
提示: “始终跟踪您在项目中所做的事情,否则最终会浪费时间”
答案 10 :(得分:0)
如果您只启用了通过应用程序包构建应用程序,那么当您尝试将其安装为默认 APK 时也可能会出现此错误。将部署选项更改为来自 App Bundle 的 APK,一切顺利。