2013-08-24 4 views
0

Я переустановил Windows на свой компьютер и попытался открыть свой старый проект с более новой версией андроид-студии.Ошибка манифестной ошибки приложения

Это мой Manifest:

<?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> 

Когда я изменить строки андроида: имя = для андроида "Login.": "Чат" имя = активность чат открывает и Безразлично Нет. Но сначала я хочу войти в систему, поэтому я использую 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? 

Почему он хочет мне заявить об этом?

Большое спасибо!

ответ

0

Он хочет, чтобы вы объявили о действии .Chat, как вы уже догадались. Сейчас объявлено только .Login. Вы должны добавить эту строку прямо под </activity> в вашем файле манифеста объявить .Chat, а также:

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

Таким образом, будет два actvities в вашем приложении: .Login и .Chat. Теперь оба из них могут быть доступны из вашего приложения методом startActivity. Каждое новое действие, которое вы создаете, должно быть объявлено таким образом.

+0

omg СПАСИБО! : D Я не могу поверить, что я был таким глупым. Я очень новичок в Java и Android. Большое спасибо! – calmandniceperson

0

Все действия в проекте должны быть объявлены в манифесте.

<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, он только просит вас объявить действия, на которые действительно ссылаются.

+0

Благодарим вас! : D Объявив, что он исправил его ^^ – calmandniceperson

0

Заявить об этом в файле манифеста.

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

И ваша проблема должна быть давно ушла!

Смежные вопросы