好的家伙这对我来说根本没有意义,我不明白为什么我在我的应用程序中收到此错误。我在android manifrest xml中注册了活动类..
java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mobile.batteryhelper/com.mobile.batteryhelper.Battery}:
java.lang.ClassNotFoundException: Caused by: java.lang.ClassNotFoundException: com.mobile.batteryhelper.Battery in loader dalvik.system.PathClassLoader[/mnt/asec/com.mobile.batteryhelper-1/pkg.apk]
这是androidmanifest.xml。是的.Battery类也扩展了Activity。
<application android:icon="@drawable/icon" android:label="@string/app_name">
<activity android:name=".Battery"
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>
答案 0 :(得分:12)
您是否尝试过清理工作区?转到项目 - &gt;清理并选择您的项目。出于某种原因,eclipse不会自动构建我的清单。
答案 1 :(得分:6)
您已将第三方库放在库文件夹中并引用它们。转到属性/ Java构建路径/库/添加外部JAR。
检查“属性/ Java构建路径/订单和导出”中的Jar文件
答案 2 :(得分:2)
在调用OnCreate之前,您是否曾尝试初始化课程中的任何内容? 如果你初始化静态变量(例如)它可以给你这个(令人愤怒的钝)错误。
答案 3 :(得分:2)
其实我在这里找到了同样问题的答案: java.lang.ClassNotFoundException on working app
您没有为Application标记提供名称,只提供Activity。因此,如果您的问题与我的问题相同,那么您应该能够删除以下内容并且一切正常:
机器人:名称= “电池”
答案 4 :(得分:2)
我遇到了同样的问题。在我找到出路之前,这是一个相当混乱的错误。转到属性&gt; Java构建路径&gt;订单和导出,并将您的android-support-v4.jar移动到顶部。它对我来说很好。尝试一下。
答案 5 :(得分:1)
您的清单包不是com.mobile.batteryhelper,或者代码中没有com.mobile.batteryhelper.Battery类。可能你没有该类的公共构造函数,或者该类未被声明为public(尽管我认为在这种情况下你会得到一个稍微不同的错误消息)。
确保您没有使用ProGuard剥离代码。确保该类是公共的,在正确的包中(与清单包相同),并且没有构造函数。另外,如果内部有一些有用的东西,看看整个错误堆栈爬行会很有用。
答案 6 :(得分:1)
右键点击您的电池类&gt; BuildPath&gt;排除 然后 右键单击您的Battery类&gt; BuildPath&gt;再次加入你的课程
答案 7 :(得分:1)
我遇到了这个问题并通过将所有放入“lib”文件夹的.jar文件(外部库文件)移动到“libs”文件夹来修复它。不知何故,eclipse只知道放在libs文件夹中的.jar文件
答案 8 :(得分:0)
仔细查看崩溃日志:
loader dalvik.system.PathClassLoader[/mnt/asec/com.mobile.batteryhelper-1/pkg.apk
此处mnt
表示外部SD卡。
通常,设置
android:installLocation="auto"
时 AndroidManifest.xml,如果设备没有足够的手机内存,那么 应用程序将存储在SD卡上。从中取出SD卡后 设备,应用程序无法找到APK位置,然后应用程序崩溃。
产生崩溃的步骤:
能够在HTC轰动2.3.4版本中复制的问题。
如果您尝试使用三星设备,它不会崩溃,但如果您移除SD卡则不会显示应用程序。此行为仅适用于少数设备。
答案 9 :(得分:0)
我遇到了同样的问题,我通过更新ADT插件解决了这个问题。
答案 10 :(得分:0)
您只需从手机或模拟器中移除该应用即可
答案 11 :(得分:0)
对我来说有用的是删除内部最内层的文件&#34; build&#34;文件夹,它是生成的文件,中间体,输出和tmp。