Android Studio говорит «Mainactivity не объявлен в AndroidManifest.xml «?

#android #android-activity #manifest #declare

#Android #android-активность #манифест #объявить

Вопрос:

Это мой файл манифеста, когда я запускаю приложение, в нем говорится «Основное действие не объявлено в AndroidManifest.xml «

Я попытался перестроить, аннулировать кэши / перезапустить, добавив

 <activity
    android:name=".MainActivity"
    android:label="@string/app_name"  to my manifest
  

также многие другие вещи из других ответов на stockoverflow, но не решили мою проблему. пожалуйста, помогите мне.
вчера я создал apk, до этого он работал нормально, но сегодня, когда я открыл его, он показал эту ошибку.

  <?xml version="1.0" encoding="utf-8"?>
    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.keval.raagbhandaar">

        <application
            android:allowBackup="true"
            android:icon="@mipmap/ic_launcher"
            android:label="@string/app_name"
            android:roundIcon="@mipmap/ic_launcher_round"
            android:supportsRtl="true"

            android:theme="@style/AppTheme">
            <activity android:name=".pprath">
            </activity>
            <activity android:name=".mpurn" />
            <activity android:name=".mprath" />
            <activity android:name=".Prambhik" />
            <activity android:name=".Exams" />



            <activity android:name=".Kalyan"/>
            <activity android:name=".Thats" />
            <activity android:name=".MainActivity">
                <intent-filter>
                    <action android:name="android.intent.action.MAIN" />


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

        </application>

    </manifest>
  

вот MainActivity.java

 package com.keval.raagbhandaar;

import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends AppCompatActivity {


    private Button button4;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);


        button4 = (Button) findViewById(R.id.button4);
        button4.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View view) {
                openActivityexam();


            }

            public void openActivityexam() {
                Intent intent = new Intent(MainActivity.this, Exams.class);
                startActivity(intent);
            }


        });
    }}
  

logcat

2019-03-14 17:02:33.492 5363-5363/com.keval.raagbhandaar E / AndroidRuntime: ФАТАЛЬНОЕ ИСКЛЮЧЕНИЕ: основной процесс: com.keval.raagbhandaar, PID: 5363 java.lang.RuntimeException: Canvas: попытка нарисовать слишком большое (558306000 байт) растровое изображение. в android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:229) в android.view.Записывающий файл.drawBitmap(RecordingCanvas.java:97) в android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java: 529) на android.view.View.getDrawableRenderNode (View.java: 19450) на android.view.View.drawBackground (View.java: 19386) на android.view.View.draw(View.java: 19183) на android.view.View.updateDisplayListIfDirty (View.java: 18142) на android.view .View.draw (View.java: 18920) на Android.view.ViewGroup.drawChild (ViewGroup.java: 4236) на android.view.ViewGroup.dispatchDraw(ViewGroup.java: 4022) на android.view.View.updateDisplayListIfDirty (View.java:18133) на android.view.view.draw(View.java: 18920) на android.view.ViewGroup.drawChild (ViewGroup.java: 4236) на android.view.ViewGroup. dispatchDraw(ViewGroup.java:4022) на Android.view.View.updateDisplayListIfDirty (View.java: 18133) на android.view.View.draw(View.java: 18920) на android.view.ViewGroup.drawChild(ViewGroup.java: 4236) на android.view.ViewGroup.dispatchDraw (ViewGroup.java: 4022) на android.view.View.updateDisplayListIfDirty (View.java: 18133) на android.view.View.draw (View.java: 18920) на android.view.ViewGroup.drawChild (ViewGroup.java: 4236) на android.view.ViewGroup.dispatchDraw(ViewGroup.java: 4022) на android.view.View.updateDisplayListIfDirty (View.java:18133) на android.view.view.draw (View.java: 18920) на android.view.ViewGroup.drawChild (ViewGroup.java: 4236) на android.view. ViewGroup.dispatchDraw(ViewGroup.java: 4022) на android.view.View.draw(View.java:19195) на com.android.internal.policy.DecorView.draw(DecorView.java: 788) на android.view.View.updateDisplayListIfDirty (View.java: 18142) на android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:669) в android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java: 675) на Android.Вид.ThreadedRenderer.draw(ThreadedRenderer.java: 783) на android.view.ViewRootImpl.draw(ViewRootImpl.java: 2992) на android.view.ViewRootImpl.performDraw(ViewRootImpl.java: 2806) на android.view.ViewRootImpl.performTraversals(ViewRootImpl.java: 2359) на android.view.ViewRootImpl.doTraversal ( ViewRootImpl.java: 1392) на android.view.ViewRootImpl$TraversalRunnable.run (ViewRootImpl.java:6752) на android.view.Хореограф $ CallbackRecord.run (Хореограф.java:911) в android.view.Хореограф.Обратные вызовы (Choreographer.java: 723) в android.view.Хореограф.doFrame(Choreographer.java: 658) в android.view.Хореограф $ FrameDisplayEventReceiver.run (Хореограф.java: 897) на android.os.Handler.handleCallback (обработчик.java: 790) на android.os.Handler.DispatchMessage (Обработчик.java: 99) на android.os.Looper.loop (Петлитель.java: 164) на android.app.ActivityThread.main (ActivityThread.java: 6494) на java.lang.reflect .Method.invoke (собственный метод) на com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) на com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

Комментарии:

1. Как называется пакет вашего основного действия?

2. Точно ли назван сам файл «MainActivity.java «? Потому что вы ввели «MainActivity» тремя разными способами в своем коротком сообщении.

3. Я воссоздал приложение, скопировал и вставил ваш манифест, и он работает правильно. Вы, должно быть, упускаете деталь.

Ответ №1:

Может быть два сценария.

1) у вас есть свой MainActivity.java класс, но вы не создали activity_main.xml , поэтому вы не объявили свою активность в своем Android-манифесте.

2) У вас есть свой java-класс и xml-класс, но вы не объявили свою активность в Android manifest.

ПРИМЕЧАНИЕ: Эта проблема возникает только тогда, когда вы забыли объявить свою активность в манифесте Android.

Комментарии:

1. как объявить, что

2. убедитесь, что у вас есть MainActivity.java класс в вашем проекте.

3. его приложение здесь-> java-> com.keval.raagbhandaar-> Здесь

4. у меня есть MainActivity.java файл app-> java-> com.keval.raagbhandaar-> Здесь

5. попробуйте это: Файл -> синхронизировать проект с файлами gradle .. и дайте мне знать, если это сработает!

Ответ №2:

Следующие возможности для этой ошибки.

  1. Вы забыли расширить свою активность

     class MainActvity extends AppCompatActivity
      
  2. Вы используете неправильное имя пакета для регистрации своей активности

          <activity
            android:name="com.keval.raagbhandaar.MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
      

Согласно имени вашего пакета :

MainActivity.java

 package com.keval.raagbhandaar;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}
  

AndroidManifest.xml

 <?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.keval.raagbhandaar">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

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

</manifest>
  

Комментарии:

1. не могли бы вы, пожалуйста, внести исправления и дать код, который я не понимаю

2. Как называется пакет вашей активности? вы также можете попробовать с помощью alt space, и android studio выдаст предложение. Затем добавьте activity.

3. мой mainactivity.xml здесь res-> layout-> HERE

4. Нет, где ваш java-файл? MainActivity.java или MainActivity.kt

5. приложение-> java-> com.keval.raagbhandaar-> Здесь

Ответ №3:

.MainActivity ваш путь к классу?

Вам нужно задать весь путь, подобный « .myfolder.MainActivity «?

Комментарии:

1. не понял. что вы хотите сказать, объясните, пожалуйста

2. Например: если ваш основной класс Activity находится в этой папке структуры: ui -> main -> MainActivity. Объявление должно быть .ui.main . MainActivity

3. класс — это xml-файл или java-файл?

4. Файл Java. MainActivity.java

5. мой MainActivity.java файл находится здесь app-> java-> com.keval.raagbhandaar-> Здесь

Ответ №4:

Вы проверили свою ошибку в журнале java.lang.RuntimeException: Canvas: попытка нарисовать слишком большое (558306000 байт) растровое изображение. в android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:229) в android.view.Запись canvas.drawBitmap (запись canvas.java:97) в

Это говорит о том, что используемое вами изображение имеет большой размер, пожалуйста, попробуйте уменьшить размер изображения и запустите снова. Может быть, это сработает