3

在模拟器上运行我的应用程序时,我从控制台收到此警告

No Launcher activity found!
The launch will only sync the application package on the device!

事实上,我已经在 AndroidManifest.xml 文件中声明了一个活动作为主启动器

        <activity
            android:name=".myActivity"
            android:label="@string/app_name" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>

我不需要任何其他意图过滤器来使用该活动.. 只是基本的主和启动器

什么原因?请给我一个解决方案..

4

4 回答 4

4

如果启动器活动在另一个包中,您还需要指定它。例如,从我的一个个人项目中:

<activity
    android:name=".activities.MainScreen"
    android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>

MainScreen.java 位于活动包中。此外,检查大写或小写字母的拼写。

于 2012-06-23T14:25:38.797 回答
2

看来您必须在“android.intent.category.LAUNCHER”之前立即指定“android.intent.action.MAIN”。当我遇到以下问题时,我遇到了与您相同的问题:

<intent-filter>
    <action android:name="android.intent.action.MAIN" />
    <action android:name="android.intent.action.SEARCH" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>

只有当我重新订购时,问题才得到解决,如下所示:

<intent-filter>
    <action android:name="android.intent.action.SEARCH" />
    <action android:name="android.intent.action.MAIN" />
    <category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
于 2014-07-24T19:52:42.483 回答
0

在所有正常情况下,听听其他人怎么说。

我能够使用 Mac Book Pro 和 Eclipse Indigo 复制您的问题。当你创建你的 android 项目时,你必须让 Eclipse 从一个模板化的活动开始(比如一个空白活动)。如果您不这样做,并且您稍后尝试将活动添加到您的清单中,则 Eclipse 只是 derps 并且找不到启动器。(我查看了其他清单文件,我看不出任何差异。在这种特殊情况下,我真的不认为这是你糟糕的清单的错。)

这是你懒惰的简单修复:

开始一个新项目,并复制所有文件(确保先备份您的文件,以防删除错误或弄乱排序)

于 2013-01-09T19:53:23.467 回答
0

使用 Eclipse Indigo,打开运行配置窗口,单击项目并使用 Android 选项卡上的启动默认活动,选择自动选择兼容设备...并应用。

于 2015-01-26T00:45:22.443 回答