TECH WITH KEVAL
TECH WITH KEVAL

Reputation: 15

Android Studio says"Mainactivity is not declared in AndroidManifest.xml"?

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)

Upvotes: 0

Views: 3653

Answers (4)

Krutika Chotara
Krutika Chotara

Reputation: 144

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

Upvotes: 0

Samir Bhatt
Samir Bhatt

Reputation: 3261

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>

Upvotes: 1

Mustufa Ansari
Mustufa Ansari

Reputation: 648

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.

Upvotes: 2

K&#233;vin Giacomino
K&#233;vin Giacomino

Reputation: 487

.MainActivity is your classpath ?

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

Upvotes: 0

Related Questions