Java 无法实例化活动,ClassNotFoundException
我正在开发一个android应用程序,在移动了一些库并调整了我的工作区以便它可以与github同步之后,我现在遇到了一个新的错误,这是我过去没有遇到过的。这是LogCat中的打印输出Java 无法实例化活动,ClassNotFoundException,java,android,eclipse,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.exampl
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的解决方案,并发现了一些证明无效的解决方案。这是我发现的第一个问题,也是第二个问题。我尝试了对两者都有用的解决方案,但似乎没有任何效果。与第一个问题中的用户类似,异常会在我写的任何一行之前抛出,因为它无法将我的主要活动识别为类
这是我的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>
如果查看日志,它会写:
ComponentInfo{com.exmple.loop/com.example.loop.MainActivity}:
com.exmple.loop
我认为应该是com.example.loop
请尝试删除此行并查看其是否有效:
android:name="com.example.loop.LoopApplication"
将活动标记更改为此,它将运行:
<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>
造成这种情况的原因有很多。我会尽可能多地说出你的名字 1.您试图在Java构建路径中添加库,而不是在Android库中。 右键单击您的项目>属性>Android。在底部有一个放置Android库的地方 2.右键单击src文件夹>生成路径>用作源文件夹 3.右键单击src文件夹>生成路径>配置输出文件夹>设置项目默认输出文件夹 4.Right-clikc项目>Java构建路径>订单和导出>检查Android私有库 (您不能同时在Android私有库和外部拥有任何库) 5.如果您已将项目设置为使用Maven并在之后将其删除。删除bin文件夹和pom.xml文件 6.检查您的R文件是否正在生成。删除它并查看它是否重建。如果没有,请在清单或xml文件中查找任何错误 7.检查是否已检查自动生成 希望这对我有所帮助,我有过很多次这样那样的问题,每次都是别的问题 祝你好运
编辑:有8个原因,但这不是你的情况。如果您忘记将类添加到清单中,那就太麻烦了。因此,在尝试了给我的每一条建议后,我决定创建一个新的Android项目,并将旧项目中的所有文件复制到新项目中的相应文件夹中。虽然这花费了一点时间,如果我把原来的项目搞砸了,时间可能会更短,但最终它确实修复了我遇到的错误,项目现在开始运行。你能提供你的项目结构和结构中的主要活动位置吗?你试过清理吗,正在重建并卸载apk,然后重试?请发布
mainactivity
类,并附上IncludeMy抱歉。我不得不手动复制并键入logcat响应,可能错过了一个键。它确实是com.example.loop。我像你说的那样删除了应用程序行,我仍然会得到相同的错误,即使这样可以解决它,我正在使用一个自定义类来扩展Google Analytics的应用程序。这真的很奇怪,工作了一天,然后我将一些引用库移动到一个新文件夹,然后它就再也找不到我从未接触过的文件了。好吧,尝试创建一个新项目,使用相同的包名
,但不使用相同的项目名
,因为它不允许在同一个工作区中,然后将该项目manifest.xml
复制并粘贴到此要修复的项目。谢谢您的帮助。虽然一开始我认为这是解决办法,但不幸的是,我尝试了所有这些方法,但都没有成功。你能详细说明一下吗?在我的项目构建路径中,我已经检查了Android私有库,但我不确定你所说的“外部”是什么意思。可能是什么导致了这个错误?是的,对不起。我的意思是,在我的情况下,我让多布尔进口了藏书。我在Java构建路径中引用了它们,并手动将它们复制到我的libs文件夹中。这是我第一次在同一时间尝试bouth,因此遇到了很多问题。因此,如果您做过类似的操作,只需删除对Java构建路径库的任何引用,只检查私有库即可。这个错误非常可怕,很难知道它来自何处:(我尝试将“活动”重命名为“几乎任何东西”以使其运行,但没有成功。它在我将库移动到其他文件夹之前运行,这是否真的会使我的项目无法识别当前路径上的文件?
<?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>