【问题标题】:No launcher activity found in eclipse java android [duplicate]在eclipse java android中找不到启动器活动[重复]
【发布时间】:2014-08-22 08:56:28
【问题描述】:

我得到的东西看起来像这样:

“未找到启动器活动! 启动只会同步设备上的应用包!”

我不确定如何解决这个问题。我的 AndroidManifest 如下所示:

<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.helloworld"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="8"
        android:targetSdkVersion="20" />

    <application
        android:allowBackup="true"
        android:icon="@drawable/ic_launcher"
        android:label="@string/app_name"
        android:theme="@style/AppTheme" >

    </application>


</manifest>

任何帮助将不胜感激。谢谢!

【问题讨论】:

  • 我不认为启动器是由清单定义的。我认为它是由 Eclipse 环境定义的。检查你的运行配置,看看它试图在哪里启动这个东西。
  • 这个问题已经回答了好几次了。例如这里:stackoverflow.com/a/4801401/3571822

标签: java android eclipse manifest launcher


【解决方案1】:

您需要将活动添加到清单中。例如,如果您的初始活动称为 MainActivity:

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.helloworld.MainActivity"
        android:label="Main Activity!" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
</application>

编辑:上面显示了一个也被用作启动器的活动。这是一个也被添加到清单中的常规活动的示例。

<application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
    <activity
        android:name="com.example.helloworld.MainActivity"
        android:label="Main Activity!" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity
        android:name="com.example.helloworld.SecondActivity"
        android:label="My second activity"
        android:parentActivityName="com.example.helloworld.MainActivity" >
        <meta-data
            android:name="android.support.PARENT_ACTIVITY"
            android:value="com.example.helloworld.MainActivity" />
    </activity>
</application>

【讨论】:

  • 谢谢!那么我每次都必须将其添加到 XML 文件中吗?
  • 是的,您创建的每个活动都必须添加到 AndroidManifest.xml。 (虽然,如果您通过 eclipse 添加活动,它应该自动处理...)在这种情况下,您将活动设置为初始活动 - 任何其他活动也必须添加,尽管它们略有不同.我会将常规活动的格式添加到我的答案中。
  • 啊,我明白了,非常感谢!现在我在构建 Android 设备时遇到了问题,除了它打开然后在 5 秒后退出。它显示一条消息:“不幸的是,HelloWorld 已停止。”
  • 听起来你在其他地方也有错误。尝试查看 LogCat 崩溃的地方,它应该会为您提供一些关于问题所在的线索。
  • 好的,我检查了一下,它看起来像这样:07-01 13:02:54.762: E/SELinux(21045): selinux_android_seapp_context_reload: seaapp_contexts 文件是从 /seapp_contexts 07-01 13:02 加载的: 54.762: D/dalvikvm(21045): 后期启用 CheckJNI 07-01 13:02:54.912: D/AndroidRuntime(21045): 关闭 VM 07-01 13:02:54.912: W/dalvikvm(21045): threadid= 1:线程以未捕获的异常退出 (group=0x411b4ac8) 07-01 13:02:54.912: E/AndroidRuntime(21045): FATAL EXCEPTION: main
【解决方案2】:

您应该将您的活动添加到清单文件中。

例如:

 <application
    android:allowBackup="true"
    android:icon="@drawable/ic_launcher"
    android:label="@string/app_name"
    android:theme="@style/AppTheme" >
  <activity
        android:name="<Package><ClassName>"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

</applicaion>

【讨论】:

    【解决方案3】:

    当您在 Eclipse 中创建 Android 项目时,它会自动生成一个名为 MainActivity 的类,该类扩展活动并为您生成 Manifest 文件,默认条目为 MainActivity。每当您创建一个扩展 Activity 的新类时,您都必须在清单中手动输入您的活动。您可以随时更改您的意图过滤器,您可以将其设置为任何活动,该活动将成为应用程序的启动器活动。这是默认清单文件:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.example.test"
        android:versionCode="1"
        android:versionName="1.0" >
    
        <uses-sdk
            android:minSdkVersion="8"
            android:targetSdkVersion="17" />
    
        <application
            android:allowBackup="true"
            android:icon="@drawable/ic_launcher"
            android:label="@string/app_name"
            android:theme="@style/AppTheme" >
            <activity
                android:name="com.example.test.MainActivity"
                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>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-06-24
      • 2012-03-26
      • 2014-01-24
      • 1970-01-01
      • 2013-02-04
      相关资源
      最近更新 更多