0
votes

This is my manifest file when i run the app it says "Main Activity is not declared in AndroidManifest.xml"

I tried Rebuilding,invalidate caches/restart,adding

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

also many other things from other answers on stockoverflow but didnt solved my problem. please help me. i made a apk yesterday till then it worked fine but today when i opened it it showed this error.

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

here is the 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: FATAL EXCEPTION: main Process: com.keval.raagbhandaar, PID: 5363 java.lang.RuntimeException: Canvas: trying to draw too large(558306000bytes) bitmap. at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:229) at android.view.RecordingCanvas.drawBitmap(RecordingCanvas.java:97) at android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:529) at android.view.View.getDrawableRenderNode(View.java:19450) at android.view.View.drawBackground(View.java:19386) at android.view.View.draw(View.java:19183) at android.view.View.updateDisplayListIfDirty(View.java:18142) at android.view.View.draw(View.java:18920) at android.view.ViewGroup.drawChild(ViewGroup.java:4236) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022) at android.view.View.updateDisplayListIfDirty(View.java:18133) at android.view.View.draw(View.java:18920) at android.view.ViewGroup.drawChild(ViewGroup.java:4236) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022) at android.view.View.updateDisplayListIfDirty(View.java:18133) at android.view.View.draw(View.java:18920) at android.view.ViewGroup.drawChild(ViewGroup.java:4236) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022) at android.view.View.updateDisplayListIfDirty(View.java:18133) at android.view.View.draw(View.java:18920) at android.view.ViewGroup.drawChild(ViewGroup.java:4236) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022) at android.view.View.updateDisplayListIfDirty(View.java:18133) at android.view.View.draw(View.java:18920) at android.view.ViewGroup.drawChild(ViewGroup.java:4236) at android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022) at android.view.View.draw(View.java:19195) at com.android.internal.policy.DecorView.draw(DecorView.java:788) at android.view.View.updateDisplayListIfDirty(View.java:18142) at android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:669) at android.view.ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:675) at android.view.ThreadedRenderer.draw(ThreadedRenderer.java:783) at android.view.ViewRootImpl.draw(ViewRootImpl.java:2992) at android.view.ViewRootImpl.performDraw(ViewRootImpl.java:2806) at android.view.ViewRootImpl.performTraversals(ViewRootImpl.java:2359) at android.view.ViewRootImpl.doTraversal(ViewRootImpl.java:1392) at android.view.ViewRootImpl$TraversalRunnable.run(ViewRootImpl.java:6752) at android.view.Choreographer$CallbackRecord.run(Choreographer.java:911) at android.view.Choreographer.doCallbacks(Choreographer.java:723) at android.view.Choreographer.doFrame(Choreographer.java:658) at android.view.Choreographer$FrameDisplayEventReceiver.run(Choreographer.java:897) at android.os.Handler.handleCallback(Handler.java:790) at android.os.Handler.dispatchMessage(Handler.java:99) at android.os.Looper.loop(Looper.java:164) at android.app.ActivityThread.main(ActivityThread.java:6494) at java.lang.reflect.Method.invoke(Native Method) at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:438) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:807)

4
What is package name of your main activity?Jaykishan Sewak
Is the file itself named exactly "MainActivity.java"? Because you've typed out "MainActivity" three different ways in your short post.Gavin Wright
I recreated the app and copied & pasted your manifest and it runs correctly. You must be leaving out a detail.COYG

4 Answers

2
votes

There could be two scenarios.

1) you have your MainActivity.java class but you haven't created activity_main.xml thats why you didn't declared you Activity in your android manifest.

2) You have your both java class and xml class but you didn't declared your activity in android manifest.

NOTE: This issue only occur when you forgot to declare your activity in android manifest.

1
votes

Following possibilities for this error.

  1. You forgot to extend your Activity

    class MainActvity extends AppCompatActivity
    
  2. You are using the wrong package name to register your activity

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

As per your package name :

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>
0
votes

.MainActivity is your classpath ?

You need to set the entire path like ".myfolder.MainActivity" ?

0
votes

Have you checked your error of log java.lang.RuntimeException: Canvas: trying to draw too large(558306000bytes) bitmap. at android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:229) at android.view.RecordingCanvas.drawBitmap(RecordingCanvas.java:97) at

It is saying that image you are using is large size please try to reduce image size and run again. May be it will work