Android Studio说“主动性未在AndroidManifest.xml中声明”?

问题描述 投票:0回答:4

当我运行应用程序时,这是我的清单文件,它说“主要活动未在AndroidManifest.xml中声明”

我尝试了重建,使缓存/重启无效,添加

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

还有很多其他的东西来自stackoverflow上的其他答案,但没有解决我的问题。请帮我。我昨天做了一个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:FATAL EXCEPTION:main进程:com.keval.raagbhandaar,PID:5363 java.lang.RuntimeException:Canvas:试图绘制大(558306000bytes)位图。在android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:229)在android.view.RecordingCanvas.drawBitmap(RecordingCanvas.java:97)在android.graphics.drawable.BitmapDrawable.draw(BitmapDrawable.java:529)在机器人。在Android.view.View.View.AvadDisplayListIfDirty的android.view.View.draw(View.java:19183)的android.view.View.drawBackground(View.java:19386)上查看View.View.getDrawableRenderNode(View.java:19450) (View.java:18142)位于android.view.View.St.EvatchDraw(ViewGroup.java)的android.view.View.draw(View.java:18920)android.view.ViewGroup.drawChild(ViewGroup.java:4236) 4022)在android.view.View.View.David(View.java:18920)上的android.view.View.View.View.Stap(View.java:18920)安卓android.view.view.draw((View.java:18920)。在Android.view.View.View.draw的一个android.view.View.David(View.java:18920)的android.view.View.Starts上查看了View.ViewGroup.dispatchDraw(ViewGroup.java:4022)(View.java:181320) (ViewGroup.java:4236)在android.vi上ew.ViewGroup.dispatchDraw(ViewGroup.java:4022)位于android.view.View.View.View(View.java:18920)上的android.view.View.View.View.Starts (ViewGroup.java:4236)在android.view.View.View.draw(View.java:)的android.view.View.View.DisplayListIfDirty(View.java:18133)的android.view.ViewGroup.dispatchDraw(ViewGroup.java:4022) 18920)在android.view.ViewGroup.drawChild(ViewGroup.java:4236)的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)在Android.view.ThreadedRenderer.updateViewTreeDisplayList(ThreadedRenderer.java:669)上的android.view.View.updateDisplayListIfDirty(View.java:18142) .ThreadedRenderer.updateRootDisplayList(ThreadedRenderer.java:675)在android.view.ThreadedRenderer.draw(ThreadedRenderer.java:783)在android.view.ViewRootImpl.draw(ViewRootImpl.java:2992)在android.view.ViewRootImpl.performDraw(争夺wRootImpl.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.Choreographer.doCrame(Choreographer.java:658)的android.view.Choreographer $ CallbackRecord.run(Choreographer.java:911)android.view.Choreographer.doCallbacks(Choreographer.java:723)在android.view.Choreographer $ FrameDisplayEventReceiver.run(Choreographer.java:897)的android.os.Handler.handleCallback(Handler.java:790)在android.os.Handler.dispatchMessage(Handler.java:99)。 os.Looper.loop(Looper.java:164)位于com.android.internal.os的java.lang.reflect.Method.invoke(Native Method)的android.app.ActivityThread.main(ActivityThread.java:6494)。 com.android.internal.os.ZygoteInit.main中的RuntimeInit $ MethodAndArgsCaller.run(RuntimeInit.java:438)(ZygoteInit.java:807)

android android-activity manifest declare
4个回答
2
投票

可能有两种情况。

1)你有你的MainActivity.java类,但你没有创建activity_main.xml这就是为什么你没有在你的Android清单中声明你的活动。

2)你有你的java类和xml类,但你没有在android manifest中声明你的活动。

注意:只有当您忘记在Android清单中声明您的活动时才会出现此问题。


1
投票

以下可能出现此错误。

  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>

根据您的包名称:

main activity.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
投票

.MainActivity是你的类路径?

你需要设置整个路径,如“.myfolder.MainActivity”?


0
投票

您是否检查了日志java.lang.RuntimeException的错误:Canvas:尝试绘制太大(558306000bytes)的位图。在android.view.DisplayListCanvas.throwIfCannotDraw(DisplayListCanvas.java:229)的android.view.RecordingCanvas.drawBitmap(RecordingCanvas.java:97)at

这是说你正在使用的图像是大尺寸请尝试减少图像大小并再次运行。可能会起作用

© www.soinside.com 2019 - 2024. All rights reserved.