我的Android应用出现了长时间错误,无法启动

时间:2019-04-19 17:50:28

标签: java android xml

尝试在模拟器中运行应用程序时出现错误

我正在跟踪一个教程,该教程向您展示如何制作类似WhatsApp的应用程序,但遇到了一些麻烦。每当我尝试在模拟器中运行该应用程序时,都会遇到这个我似乎无法解决的非常长的错误。我更改过的唯一可能很重要的是文件名。我忘了是MainActivity.jk或tk。但是我将其更改为MainActivity.Java。但这是我不断得到的错误。

04-19 13:30:10.485 3614-3614 /? E / AndroidRuntime:致命异常:main     流程:com.example.chatster,PID:3614     java.lang.RuntimeException:无法实例化活动ComponentInfo {com.example.chatster / com.example.chatster.MainActivity}:java.lang.ClassNotFoundException:在路径中找不到类“ com.example.chatster.MainActivity”。 DexPathList [[zip文件“ /data/app/com.example.chatster-1.apk"],nativeLibraryDirectories=[/data/app-lib/com.example.chatster-1,/ vendor / lib,/ system / lib ]]         在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2121)         在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)         在android.app.ActivityThread.access $ 800(ActivityThread.java:135)         在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1196)         在android.os.Handler.dispatchMessage(Handler.java:102)         在android.os.Looper.loop(Looper.java:136)         在android.app.ActivityThread.main(ActivityThread.java:5017)         在java.lang.reflect.Method.invokeNative(本机方法)         在java.lang.reflect.Method.invoke(Method.java:515)         在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:779)         在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)         在dalvik.system.NativeStart.main(本机方法)      原因:java.lang.ClassNotFoundException:在路径:DexPathList [[zip file“ /data/app/com.example.chatster-1.apk"],nativeLibraryDirectories上找不到类“ com.example.chatster.MainActivity” = [/ data / app-lib / com.example.chatster-1,/ vendor / lib,/ system / lib]]         在dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)         在java.lang.ClassLoader.loadClass(ClassLoader.java:497)         在java.lang.ClassLoader.loadClass(ClassLoader.java:457)         在android.app.Instrumentation.newActivity(Instrumentation.java:1061)         在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2112)         在android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2245)         在android.app.ActivityThread.access $ 800(ActivityThread.java:135)         在android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1196)         在android.os.Handler.dispatchMessage(Handler.java:102)         在android.os.Looper.loop(Looper.java:136)         在android.app.ActivityThread.main(ActivityThread.java:5017)         在java.lang.reflect.Method.invokeNative(本机方法)         在java.lang.reflect.Method.invoke(Method.java:515)         在com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:779)         在com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)         在dalvik.system.NativeStart.main(本机方法)

MainActivity.Java

package com.example.chatster;

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

import java.util.Objects;

public class MainActivity extends AppCompatActivity {

protected Bundle savedInstanceState;

@Override
protected void onCreate(Bundle savedInstanceState)
{
    this.savedInstanceState = savedInstanceState;

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);

    Toolbar mToolBar = (Toolbar) findViewById(R.id.Main_page_toolbar);
    setSupportActionBar(mToolBar);
    Objects.requireNonNull(getSupportActionBar()).setTitle("Chatster");
}

}

AndroidManifest.xml

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

<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" tools:ignore="AllowBackup,GoogleAppIndexingWarning">
    <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>

2 个答案:

答案 0 :(得分:0)

在您的情况下,这似乎是一个问题。:清单中activity的相对路径不正确,或者您没有在androidManifest中声明您的活动

<activity android:name="com.example.chatster.MainActivity"

请尝试从您的onCreate()删除此行

this.savedInstanceState = savedInstanceState ;

执行完此操作后,请清理并重建项目,然后重新启动android studio

请检查此link以获取更多信息,并希望您能解决问题

答案 1 :(得分:0)

在Android Studio中禁用即时运行。

转到文件->设置/首选项(Mac)->构建执行和部署->取消选中即时运行

然后清理并重建项目。

enter image description here