ActivityNotFoundException但我在清单中声明了

时间:2013-08-06 10:15:18

标签: android android-manifest activitynotfoundexception

我的错误是

E/AndroidRuntime(11101): android.content.ActivityNotFoundException: Unable to find explicit activity class {com.example.hellolinear/java.text.Normalizer$Form}; 
have you declared this activity in your `AndroidManifest.xml`?

但在我的清单代码中是:

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

任何人都可以帮助我吗?

6 个答案:

答案 0 :(得分:1)

如果上述情况不起作用,则

  1. 从您的设备卸载应用
  2. 重新启动eclipse(如果您正在使用它,否则使用其他IDE
  3. 清理您的项目

答案 1 :(得分:0)

检查活动是否在根包中。否则在清单文件中声明时提及包路径。

<activity
            android:name="com.example.smstracking.MainActivity"
           >
        </activity>

答案 2 :(得分:0)

也许你的包名不正确?尝试指定完整的包名称,如下所示:

<activity android:name="com.example.hellolinear.Form"
android:label="@string/app_name">
<intent-filter/>
</activity>

然而,正确的方法是添加像你的清单一样的包名:

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

答案 3 :(得分:0)

至少有一项活动必须包含意图过滤器,其中操作为action.MAIN 类别启动器根据我的知识。希望这有帮助,因为你没有在清单中提供意图过滤器。

答案 4 :(得分:0)

  <activity android:name="your package name.Your Activity Name">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

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

答案 5 :(得分:-1)

您的包名称未正确写入。你的代码:

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

而不是上述内容,请写下:

<activity 
    android:name="your package name.Form"    // eg: android:name="com.example.myapp.Form"
    android:label="@string/app_name">
        <intent-filter/>
    </activity>