简体   繁体   中英

Unfortunately, (App Name) has stopped. Eclipse / Android

I'm new to eclipse and wanted to know how to keep this message

Unfortunately, (App Name) has stopped." 

from showing every time I run my Test Application in my AVD. I'm trying to make a LineView Layout and Eclipse shows no mistakes. So how can I fix this and how can I find out what the problem is if Eclipse shows no problems?

(Here's a copy of my Logcat)

05-29 23:49:12.604: D/AndroidRuntime(832): Shutting down VM
05-29 23:49:12.675: W/dalvikvm(832): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
05-29 23:49:12.775: E/AndroidRuntime(832): FATAL EXCEPTION: main
05-29 23:49:12.775: E/AndroidRuntime(832): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{testing.android.application.three/testing.android.application.three.MainActivityThreeActivity}: java.lang.ClassNotFoundException: Didn't find class "testing.android.application.three.MainActivityThreeActivity" on path: /data/app/testing.android.application.three-1.apk
05-29 23:49:12.775: E/AndroidRuntime(832):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
05-29 23:49:12.775: E/AndroidRuntime(832):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
05-29 23:49:12.775: E/AndroidRuntime(832):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
05-29 23:49:12.775: E/AndroidRuntime(832):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
05-29 23:49:12.775: E/AndroidRuntime(832):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-29 23:49:12.775: E/AndroidRuntime(832):  at android.os.Looper.loop(Looper.java:137)
05-29 23:49:12.775: E/AndroidRuntime(832):  at android.app.ActivityThread.main(ActivityThread.java:5041)
05-29 23:49:12.775: E/AndroidRuntime(832):  at java.lang.reflect.Method.invokeNative(Native Method)
05-29 23:49:12.775: E/AndroidRuntime(832):  at java.lang.reflect.Method.invoke(Method.java:511)
05-29 23:49:12.775: E/AndroidRuntime(832):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-29 23:49:12.775: E/AndroidRuntime(832):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-29 23:49:12.775: E/AndroidRuntime(832):  at dalvik.system.NativeStart.main(Native Method)
05-29 23:49:12.775: E/AndroidRuntime(832): Caused by: java.lang.ClassNotFoundException: Didn't find class "testing.android.application.three.MainActivityThreeActivity" on path: /data/app/testing.android.application.three-1.apk
05-29 23:49:12.775: E/AndroidRuntime(832):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
05-29 23:49:12.775: E/AndroidRuntime(832):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
05-29 23:49:12.775: E/AndroidRuntime(832):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
05-29 23:49:12.775: E/AndroidRuntime(832):  at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
05-29 23:49:12.775: E/AndroidRuntime(832):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
05-29 23:49:12.775: E/AndroidRuntime(832):  ... 11 more
05-29 23:49:30.595: E/Trace(851): error opening trace file: No such file or directory (2)
05-29 23:49:30.965: D/AndroidRuntime(851): Shutting down VM
05-29 23:49:31.015: W/dalvikvm(851): threadid=1: thread exiting with uncaught exception (group=0x40a71930)
05-29 23:49:31.075: E/AndroidRuntime(851): FATAL EXCEPTION: main
05-29 23:49:31.075: E/AndroidRuntime(851): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{testing.android.application.three/testing.android.application.three.MainActivityThreeActivity}: java.lang.ClassNotFoundException: Didn't find class "testing.android.application.three.MainActivityThreeActivity" on path: /data/app/testing.android.application.three-1.apk
05-29 23:49:31.075: E/AndroidRuntime(851):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2106)
05-29 23:49:31.075: E/AndroidRuntime(851):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2230)
05-29 23:49:31.075: E/AndroidRuntime(851):  at android.app.ActivityThread.access$600(ActivityThread.java:141)
05-29 23:49:31.075: E/AndroidRuntime(851):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1234)
05-29 23:49:31.075: E/AndroidRuntime(851):  at android.os.Handler.dispatchMessage(Handler.java:99)
05-29 23:49:31.075: E/AndroidRuntime(851):  at android.os.Looper.loop(Looper.java:137)
05-29 23:49:31.075: E/AndroidRuntime(851):  at android.app.ActivityThread.main(ActivityThread.java:5041)
05-29 23:49:31.075: E/AndroidRuntime(851):  at java.lang.reflect.Method.invokeNative(Native Method)
05-29 23:49:31.075: E/AndroidRuntime(851):  at java.lang.reflect.Method.invoke(Method.java:511)
05-29 23:49:31.075: E/AndroidRuntime(851):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:793)
05-29 23:49:31.075: E/AndroidRuntime(851):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:560)
05-29 23:49:31.075: E/AndroidRuntime(851):  at dalvik.system.NativeStart.main(Native Method)
05-29 23:49:31.075: E/AndroidRuntime(851): Caused by: java.lang.ClassNotFoundException: Didn't find class "testing.android.application.three.MainActivityThreeActivity" on path: /data/app/testing.android.application.three-1.apk
05-29 23:49:31.075: E/AndroidRuntime(851):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:65)
05-29 23:49:31.075: E/AndroidRuntime(851):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
05-29 23:49:31.075: E/AndroidRuntime(851):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
05-29 23:49:31.075: E/AndroidRuntime(851):  at android.app.Instrumentation.newActivity(Instrumentation.java:1054)
05-29 23:49:31.075: E/AndroidRuntime(851):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2097)
05-29 23:49:31.075: E/AndroidRuntime(851):  ... 11 more
05-29 23:49:35.207: I/Process(851): Sending signal. PID: 851 SIG: 9

(Here's a copy of my activity_main_activity_three.xml)

<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:orientation="vertical"
    android:paddingBottom="@dimen/activity_horizontal_margin"
    android:paddingLeft="@dimen/activity_vertical_margin"
    android:paddingRight="@dimen/activity_vertical_margin"
    android:paddingTop="@dimen/activity_horizontal_margin"
    tools:context=".MainActivityThree" >
</LinearLayout>

(Here's a copy of my MainActivityThree.java)

package testing.android.application.three;

import android.os.Bundle;
import android.app.ListActivity;
import android.view.View;
import android.widget.ArrayAdapter;
import android.widget.ListView;
import android.widget.Toast;

public class MainActivityThree extends ListActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        //setContentView(R.layout.activity_main_activity_three);
        String[] names = new String[]{"Text 1","Text 2","Text 3","Text 4","Text 5","Text"};
        setListAdapter(new ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,names));   
    }

    @Override
    protected void onListItemClick(ListView l, View v, int position, long id) {
        // TODO Auto-generated method stub
        super.onListItemClick(l, v, position, id);
        Object o = this.getListAdapter().getItem(position);
        String keyword = o.toString();
        Toast.makeText(this, "Test 1" + keyword, Toast.LENGTH_LONG).show();
    }
}

(Here's a copy of my ThreeManifest)

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="testing.android.application.three"
    android:versionCode="1"
    android:versionName="1.0" >

    <uses-sdk
        android:minSdkVersion="14"
        android:targetSdkVersion="17" />

    <application
        android:allowBackup="true"
        android:label="@string/AppName"
        android:icon="@drawable/ic_launcher"
        android:theme="@style/ThreeTheme">
        <activity
            android:name="testing.android.application.three.MainActivityThreeActivity"
            android:label="@string/AppName" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />
                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>
</manifest>

Looking at your LogCat and your manifest, you can see that the name of your activity class is different from the name of the class that is presented inside the manifest file.

So, in order to fix the problem, change this line in your manifest

android:name="testing.android.application.three.MainActivityThreeActivity"

for

android:name="testing.android.application.three.MainActivityThree"

This may solve the problem!

Always keep in mind that the AndroidManifest file "governs" your application. Every service and activity you want to use or every permission you need for your application, you'll have to register it inside your manifest file and do it correctly, otherwise, you'll experience crashes like that.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM