无法实例化活动,ClassNotFoundException

时间:2014-06-08 16:39:10

标签: java android eclipse

我正在开发一个Android应用程序,在移动一些库并调整我的工作区以便它可以与github同步后,我现在遇到一个我以前没有过的新错误。这是LogCat中的打印输出。

FATAL EXCEPTION: main
Process: com.exmple.loop, PID:1000
java.lang.RuntimeException: Unable to instantiate activity 
ComponentInfo{com.example.loop/com.example.loop.MainActivity}: 
java.lang.ClassNotFoundException: Didn't find class "com.example.loop.MainActivity" on 
path: DexpathList[[zip file "/data/app/com.example.loop-2.apk"]...

如果需要,我可以提供更多。我已经检查了stackoverflow的解决方案,并发现了一些被证明是无益的。 Here是我发现的第一个问题,here是第二个问题。我为两者尝试了有用的解决方案,似乎没有任何效果。与第一个问题中的用户类似,在我编写任何行之前抛出异常,因为它无法将我的主要活动识别为类。

这是我的Android清单。

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

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

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

<application
    android:allowBackup="true"
    android:name="com.example.loop.LoopApplication"
    android:icon="@drawable/loop_icon"
    android:label="@string/app_name"
    android:theme="@style/Theme.Loop" >
    <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
    <activity
        android:name="com.example.loop.MainActivity"
        android:label="@string/app_name" >
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
    </activity>
    <activity android:theme="@style/AppTheme" android:logo="@drawable/loop_icon" android:name="LoginActivity">

    </activity>

</application>

</manifest>

4 个答案:

答案 0 :(得分:1)

如果您查看logcat,它会写:

ComponentInfo{com.exmple.loop/com.example.loop.MainActivity}: 

com.exmple.loop 

我认为它应该是com.example.loop

尝试删除此行并查看其是否有效:

android:name="com.example.loop.LoopApplication"

答案 1 :(得分:0)

将您的活动代码更改为此标记,它将运行:

<activity
    android:name="MainActivity"
    android:label="@string/app_name" >
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

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

答案 2 :(得分:0)

这有很多原因。我会尝试尽可能多地命名。

1.您尝试在Java Build Path中添加库,而不是在Android库中添加库。 严格按住您的项目&gt;属性&gt; Android系统。在底部有一个Android库的地方。

2.右击你的src文件夹&gt; Build Path&gt;用作源文件夹

3.右击你的src文件夹&gt;构建路径&gt;配置输出文件夹&gt;设置项目默认输出文件夹

4.Right-clikc项目&gt; Java构建路径&gt;订单和出口&gt;检查Android私有库 (您不能在Android私人图书馆和外部同时拥有任何图书馆)

5.如果您已将项目设置为使用Maven并在之后将其删除。删除bin文件夹和pom.xml

6.检查是否正在生成R文件。删除它,看看它是否重建。如果没有在清单或xml文件中查找任何错误。

7.检查是否已选中Build Atomatically。

希望得到这个帮助,我多次遇到过这个问题,每次都是其他问题。

祝你好运!

编辑:有8个原因,但这不是你的情况。如果您忘记将类添加到清单中,那就是它。

答案 3 :(得分:0)

因此,在尝试了给我的每一点建议后,我决定创建一个新的Android项目,并将旧项目中的所有文件复制到新项目中的相应文件夹中。虽然这花费了一些时间,如果我再次对原始项目搞砸了可能会更短,但最终它确实修复了我遇到的错误并且项目现在正在运行。