Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/379.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java LogCat中的Android错误_Java_Android_Eclipse_Logcat_Android Logcat - Fatal编程技术网

Java LogCat中的Android错误

Java LogCat中的Android错误,java,android,eclipse,logcat,android-logcat,Java,Android,Eclipse,Logcat,Android Logcat,首先,我很抱歉,我是一个android开发的初学者,也是论坛的新手。 当我在模拟器上运行应用程序时,我得到了错误;“应用程序(应用程序名称)意外停止。请重试。”我正在努力解释我的日志。我还尝试调整清单和src文件中的“MAIN”和“MENU”名称以匹配,但知道结果,除非我遗漏了什么。 这是我的日志: 01-06 16:50:32.273: D/dalvikvm(490): GC_EXTERNAL_ALLOC freed 652 objects / 51480 bytes in 92ms 01-0

首先,我很抱歉,我是一个android开发的初学者,也是论坛的新手。 当我在模拟器上运行应用程序时,我得到了错误;“应用程序(应用程序名称)意外停止。请重试。”我正在努力解释我的日志。我还尝试调整清单和src文件中的“MAIN”和“MENU”名称以匹配,但知道结果,除非我遗漏了什么。 这是我的日志:

01-06 16:50:32.273: D/dalvikvm(490): GC_EXTERNAL_ALLOC freed 652 objects / 51480 bytes in 92ms
01-06 16:50:37.813: D/AndroidRuntime(490): Shutting down VM
01-06 16:50:37.813: W/dalvikvm(490): threadid=1: thread exiting with uncaught exception (group=0x4001d800)
01-06 16:50:37.863: E/AndroidRuntime(490): FATAL EXCEPTION: main
01-06 16:50:37.863: E/AndroidRuntime(490): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.knight.baseproject/com.knight.baseproject.com.knight.baseproject.MENU}: java.lang.ClassNotFoundException: com.knight.baseproject.com.knight.baseproject.MENU in loader dalvik.system.PathClassLoader[/data/app/com.knight.baseproject-2.apk]
01-06 16:50:37.863: E/AndroidRuntime(490):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2585)
01-06 16:50:37.863: E/AndroidRuntime(490):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2679)
01-06 16:50:37.863: E/AndroidRuntime(490):  at android.app.ActivityThread.access$2300(ActivityThread.java:125)
01-06 16:50:37.863: E/AndroidRuntime(490):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:2033)
01-06 16:50:37.863: E/AndroidRuntime(490):  at android.os.Handler.dispatchMessage(Handler.java:99)
01-06 16:50:37.863: E/AndroidRuntime(490):  at android.os.Looper.loop(Looper.java:123)
01-06 16:50:37.863: E/AndroidRuntime(490):  at android.app.ActivityThread.main(ActivityThread.java:4627)
01-06 16:50:37.863: E/AndroidRuntime(490):  at java.lang.reflect.Method.invokeNative(Native Method)
01-06 16:50:37.863: E/AndroidRuntime(490):  at java.lang.reflect.Method.invoke(Method.java:521)
01-06 16:50:37.863: E/AndroidRuntime(490):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
01-06 16:50:37.863: E/AndroidRuntime(490):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
01-06 16:50:37.863: E/AndroidRuntime(490):  at dalvik.system.NativeStart.main(Native Method)
01-06 16:50:37.863: E/AndroidRuntime(490): Caused by: java.lang.ClassNotFoundException: com.knight.baseproject.com.knight.baseproject.MENU in loader dalvik.system.PathClassLoader[/data/app/com.knight.baseproject-2.apk]
01-06 16:50:37.863: E/AndroidRuntime(490):  at dalvik.system.PathClassLoader.findClass(PathClassLoader.java:243)
01-06 16:50:37.863: E/AndroidRuntime(490):  at java.lang.ClassLoader.loadClass(ClassLoader.java:573)
01-06 16:50:37.863: E/AndroidRuntime(490):  at java.lang.ClassLoader.loadClass(ClassLoader.java:532)
01-06 16:50:37.863: E/AndroidRuntime(490):  at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
01-06 16:50:37.863: E/AndroidRuntime(490):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2577)
01-06 16:50:37.863: E/AndroidRuntime(490):  ... 11 more
这是舱单:


以下是“主”java脚本:

package com.knight.baseproject;

import android.os.Bundle;
import android.app.Activity;
import android.content.Intent;
import android.view.Menu;

public class MAIN extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.splash);
        Thread logoTimer = new Thread(){
            public void run(){
                try{
                    sleep(5000);
                    Intent menuIntent = new Intent("com.knight.baseproject.MENU");
                    startActivity(menuIntent);

                } catch (InterruptedException e) {
                    // TODO Auto-generated catch block
                    e.printStackTrace();
                }

                finally{
                    finish();
                }
            }
        };
        logoTimer.start();
    }


    @Override
    public boolean onCreateOptionsMenu(Menu menu) {
        // Inflate the menu; this adds items to the action bar if it is present.
        getMenuInflater().inflate(R.menu.main, menu);
        return true;
    }

}
“菜单”java(我认为没有影响):


您需要将活动添加到AndroidManifest.xml文件中。

请尝试以下选项

选项1

  • 右键单击您的项目
  • 单击Android工具
  • 单击“修复项目属性”
  • 选项2

    单击项目-->属性-->Java构建路径-->顺序和导出,您应该勾选您使用的条目

    选项3

    删除除Android.x.x之外的所有库,然后按项目-->清理,然后重新添加库(不要忘记按顺序检查并导出)


    您还需要检查属性-->Java编译器-->JDK符合性。

    尝试了解如何调试错误,您可以读取堆栈跟踪,也可以通过调试器运行应用程序。从头到尾阅读,你会发现实际发生了什么

    01-06 16:50:37.863: E/AndroidRuntime(490): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.knight.baseproject/com.knight.baseproject.com.knight.baseproject.MENU}: java.lang.ClassNotFoundException: com.knight.baseproject.com.knight.baseproject.MENU in loader dalvik.system.PathClassLoader[/data/app/com.knight.baseproject-2.apk]
    
    01-06 16:50:37.863: E/AndroidRuntime(490): Caused by: java.lang.ClassNotFoundException: com.knight.baseproject.com.knight.baseproject.MENU in loader dalvik.system.PathClassLoader[/data/app/com.knight.baseproject-2.apk]
    
    如果您正确阅读它,您会发现“ClassNotFoundException”发生异常,因为它找不到该类

    我认为这是因为您没有在AndroidManifest.xml中添加活动,应用程序中使用的任何活动都应该在清单文件中定义

    如果您可以发布您的代码和清单,那就太好了。

    更改

    android:name=".com.knight.baseproject.MENU"
    

    在你的舱单上

    <activity
            android:name=".com.knight.baseproject.MENU"
    

    删除首字母
    ,或将名称更改为just
    。MENU

    您可以通过将问题设为SSCE来改进问题:。您可以通过搜索SO以查找已回答您问题的问题,然后不发布副本来进一步改进问题。投票SO成员:这可能不是JVM以来的重复正在抱怨另一个组件。对于那些投票结束的人,也许你可以解释为什么它适用,即使组件不同。也许这适用于这种情况:我应该检查哪个顺序和导出,它们是在包资源管理器中打开项目时显示的吗?否。右键单击包资源管理器中的项目名称,然后单击“属性”。在左侧,选择Java构建路径。现在第四个选项卡是“订单和导出”,请先尝试选项1和3。如果不起作用,请检查所有与项目相关的目录。示例-Test/src和Test/gen.以及Android x.x.x,然后单击Ok.Ok。(projectname)/src和(projectname)/gen已填充框,不可勾选/不可勾选。但在它们下面是:安卓4.4.2、安卓私有库、安卓依赖项。所以我应该检查4.4.2和依赖项?这只是一种良好的常规做法,也是我应该经常做的事情吗?非常感谢,这解决了我的沮丧。
    android:name="com.knight.baseproject.MENU"
    
    <activity
            android:name=".com.knight.baseproject.MENU"
    
    java.lang.ClassNotFoundException: com.knight.baseproject.com.knight.baseproject.MENU in loader dalvik.system.PathClassLoader[/data/app/com.knight.baseproject-2.apk]