【问题标题】:Eclipse, Android can't see activity - Unable to instantiate activity ComponentInfo errorEclipse,Android 看不到活动 - 无法实例化活动 ComponentInfo 错误
【发布时间】:2015-09-27 21:03:49
【问题描述】:

我通常在 Android Studio 上工作,所以我对 Eclipse 项目组合不太熟悉。一般来说,我已经设置了我的项目,并且收到了下面显示的错误日志。乍一看,这似乎很微不足道,因为您会认为“清单中没有活动,或者您以错误的方式指定”。但是我已经花了 3 个小时来解决这个问题,我已经不知道哪里出了问题。

一般来说,我尝试将活动重命名为

kamil.krzyk.agh.eds.activity.MenuActivity

例如:

.activity.MenuActivity

或者只是:

.MenuActivity

多次清理项目,重新构建,重新启动 IDE,将活动类移动到根目录,检查项目属性 -> 生成器中的所有内容。 Java Build Path 的状态是:

我的清单代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="kamil.krzyk.agh.eds"
    android:versionCode="301"
    android:versionName="3.01" >

    <supports-screens
        android:anyDensity="true"
        android:largeScreens="true"
        android:normalScreens="true"
        android:resizeable="true"
        android:smallScreens="true" />

    <uses-sdk
        android:minSdkVersion="15"
        android:targetSdkVersion="23" />

    <uses-permission android:name="android.permission.CAMERA" />

    <uses-feature
        android:name="android.hardware.camera"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.autofocus"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.front"
        android:required="false" />
    <uses-feature
        android:name="android.hardware.camera.front.autofocus"
        android:required="false" />

    <application
        android:label="@string/app_name"
        android:theme="@android:style/Theme.NoTitleBar.Fullscreen" >
        <activity
            android:name="kamil.krzyk.agh.eds.activity.MenuActivity"
            android:configChanges="keyboardHidden|orientation"
            android:icon="@drawable/icon"
            android:label="@string/app_name"
            android:screenOrientation="portrait" >
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

我的项目树如下所示:

MenuActivity.class 在我的硬盘上的位置是:

通常项目编译/构建,我可以运行它,但我立即得到错误。我曾经更改过我的项目包。我看不出哪里错了。请看一下,提出一些建议,想法,无论如何都可以帮助我。谢谢。

错误日志:

09-27 22:52:27.120: E/AndroidRuntime(32308): FATAL EXCEPTION: main
    09-27 22:52:27.120: E/AndroidRuntime(32308): Process: kamil.krzyk.agh.eds, PID: 32308
    09-27 22:52:27.120: E/AndroidRuntime(32308): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{kamil.krzyk.agh.eds/kamil.krzyk.agh.eds.activity.MenuActivity}: java.lang.ClassNotFoundException: Didn't find class "kamil.krzyk.agh.eds.activity.MenuActivity" on path: DexPathList[[zip file "/data/app/kamil.krzyk.agh.eds-1/base.apk"],nativeLibraryDirectories=[/data/app/kamil.krzyk.agh.eds-1/lib/arm, /vendor/lib, /system/lib]]
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2236)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2387)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at android.app.ActivityThread.access$800(ActivityThread.java:151)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1303)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at android.os.Handler.dispatchMessage(Handler.java:102)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at android.os.Looper.loop(Looper.java:135)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at android.app.ActivityThread.main(ActivityThread.java:5254)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at java.lang.reflect.Method.invoke(Native Method)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at java.lang.reflect.Method.invoke(Method.java:372)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:903)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:698)
    09-27 22:52:27.120: E/AndroidRuntime(32308): Caused by: java.lang.ClassNotFoundException: Didn't find class "kamil.krzyk.agh.eds.activity.MenuActivity" on path: DexPathList[[zip file "/data/app/kamil.krzyk.agh.eds-1/base.apk"],nativeLibraryDirectories=[/data/app/kamil.krzyk.agh.eds-1/lib/arm, /vendor/lib, /system/lib]]
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at java.lang.ClassLoader.loadClass(ClassLoader.java:511)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at java.lang.ClassLoader.loadClass(ClassLoader.java:469)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at android.app.Instrumentation.newActivity(Instrumentation.java:1066)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2226)
    09-27 22:52:27.120: E/AndroidRuntime(32308):    ... 10 more
    09-27 22:52:27.120: E/AndroidRuntime(32308):    Suppressed: java.lang.ClassNotFoundException: kamil.krzyk.agh.eds.activity.MenuActivity
    09-27 22:52:27.120: E/AndroidRuntime(32308):        at java.lang.Class.classForName(Native Method)
    09-27 22:52:27.120: E/AndroidRuntime(32308):        at java.lang.BootClassLoader.findClass(ClassLoader.java:781)
    09-27 22:52:27.120: E/AndroidRuntime(32308):        at java.lang.BootClassLoader.loadClass(ClassLoader.java:841)
    09-27 22:52:27.120: E/AndroidRuntime(32308):        at java.lang.ClassLoader.loadClass(ClassLoader.java:504)
    09-27 22:52:27.120: E/AndroidRuntime(32308):        ... 13 more
    09-27 22:52:27.120: E/AndroidRuntime(32308):    Caused by: java.lang.NoClassDefFoundError: Class not found using the boot class loader; no stack available

【问题讨论】:

标签: java android eclipse


【解决方案1】:

从您的屏幕截图中,我猜想 kamil.krzyk.agh.eds 包(具有白色)不是源文件夹。所以看看你的项目设置。

根据answer,您应该:

右键单击项目并转到项目属性,然后转到 java 构建路径,然后在源选项卡中,单击添加文件夹按钮并添加“kamil.krzyk.agh.eds”(或者您应该添加“src”文件夹)文件夹。

【讨论】:

  • 我已经检查了你给我的答案。我在我的 Java 构建路径 -> 源位置中链接了 'src' 和 'gen' 文件夹。 'kamil.krzyk.agh.eds' 是 src 文件夹中的包,因此我可以再次添加已经添加的内容,因为它显示“我无法添加嵌套文件夹”。似乎如果添加了“src”,那么里面的所有内容也是如此。
  • @F1sher,我确定你的 kamil.krzyk.agh.eds 包有问题,因为它不能是白色的,而是其他棕色的......尝试重新创建它并填充其他包和文件
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-11-19
  • 2014-11-22
  • 1970-01-01
  • 1970-01-01
  • 2011-06-08
  • 1970-01-01
相关资源
最近更新 更多