【问题标题】:Manifest Error App Crashes清单错误应用程序崩溃
【发布时间】:2013-08-24 20:03:11
【问题描述】:

我在我的电脑上重新安装了 Windows,并尝试使用更新版本的 android studio 打开我的旧项目。

这是我的清单:

    <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
      package="com.linkr.chat"
      android:versionCode="1"
      android:versionName="1.0" >

<uses-sdk
        android:minSdkVersion="16"
        android:targetSdkVersion="18" />

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

当我将 android:name=".Login" 行更改为 android:name=".Chat" 时,Chat 活动打开并且不会崩溃。但我想先打开登录,所以我使用 android:name=".Login",然后如果我点击按钮打开聊天,它就会崩溃。

我从 logcat 得到的错误是:

    Caused by: android.content.ActivityNotFoundException: Unable to find explicit activity class {com.linkr.chat/com.linkr.chat.Chat}; have you declared this activity in your AndroidManifest.xml?

为什么要我声明这个?

非常感谢!

【问题讨论】:

    标签: android android-activity manifest logcat


    【解决方案1】:

    它希望你声明.Chat 活动,你猜对了。现在只声明了.Login 活动。您应该在清单文件中的 &lt;/activity&gt; 正下方添加此行以声明 .Chat

    <activity android:name=".Chat"/>
    

    这样,您的应用程序中将有两个活动:.Login.Chat。现在它们都可以通过startActivity 方法从您的应用程序中访问。您创建的每个新活动都应该以这种方式声明。

    【讨论】:

    • 天哪,谢谢! :D 我不敢相信我是如此愚蠢。我对 Java 和 Android 很陌生。非常感谢!
    【解决方案2】:

    在清单文件中声明此活动。

      <activity android:name="com.linkr.chat.Chat" > </activity>
    

    你的问题应该早就解决了!

    【讨论】:

      【解决方案3】:

      项目中的所有活动都需要在 Manifest 中声明。

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

      您是从“登录”活动中的意图开始的吗? AFAIK,它只要求您声明实际引用的活动。

      【讨论】:

      • 谢谢大家! :D 声明它修复了它^^
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-08-20
      • 2012-06-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多