Android java.lang.RuntimeException:无法实例化活动组件信息
好了,伙计们,这对我来说毫无意义,我不明白为什么我的应用程序会出现这个错误。我已经在android manifrest xml中注册了activity类Android java.lang.RuntimeException:无法实例化活动组件信息,android,Android,好了,伙计们,这对我来说毫无意义,我不明白为什么我的应用程序会出现这个错误。我已经在android manifrest xml中注册了activity类 java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.mobile.batteryhelper/com.mobile.batteryhelper.Battery}: java.lang.ClassNotFoundException: Caused
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。是的。电池类也扩展了活动
<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>
您是否尝试过清理您的工作区。转到项目->清理并选择您的项目。由于某些原因,eclipse不会自动生成我的清单。清单包不是com.mobile.batteryhelper,或者代码中没有com.mobile.batteryhelper.Battery类。可能您没有该类的公共构造函数,或者该类没有声明为public(尽管我认为在这种情况下,您会得到稍微不同的错误消息)
确保您没有使用ProGuard删除代码。确保该类是公共的,在正确的包中(与清单包相同),并且没有构造函数。此外,如果错误堆栈中有有用的内容,查看整个错误堆栈爬网也会很有用。在调用OnCreate之前,您是否尝试过初始化类中的任何内容?
如果你初始化静态变量(例如),它会给你这个(令人恼火的迟钝)错误。事实上,我在这里找到了相同问题的答案: 您不提供应用程序标记的名称,只提供活动。因此,如果您的问题与我的问题相同,您应该能够删除以下内容,并且这些内容将起作用: android:name=“.Battery”
右键单击电池类>构建路径>排除 然后
右键单击您的电池类>构建路径>再次包含您的类您已将第三方库放入库文件夹并引用它们。转到属性/Java构建路径/Libraries/addexternaljar
检查Properties/Java Build Path/Order中的Jar文件并导出我发现了这个问题,并通过将所有放在“lib”文件夹中的.Jar文件(外部库文件)移动到“libs”文件夹来修复它。不知怎的,eclipse只知道放在libs文件夹中的.jar文件,请仔细查看崩溃日志:
loader dalvik.system.PathClassLoader[/mnt/asec/com.mobile.batteryhelper-1/pkg.apk
这里的mnt
表示外部SD卡
通常,当在中设置了android:installLocation=“auto”
时
如果设备没有足够的手机内存,则
应用程序将存储在SD卡上。从中卸下SD卡后
设备、应用程序找不到APK位置,然后应用程序崩溃
产生崩溃的步骤:
问题能够在HTC sensation 2.3.4版本中复制
- 通过转到将应用程序移动到SD卡 设置-->管理应用程序->单击应用程序-->移动到SD卡
- 从设备中卸下SD卡并打开应用程序
如果您尝试使用三星设备,它不会崩溃,但如果您卸下SD卡,它不会显示应用程序。这种行为仅适用于少数设备。我也有同样的问题。这是一个相当令人困惑的错误,直到我找到了出路。转到属性>Java构建路径>订购和导出,并将您的android-support-v4.jar移到顶部。这对我很管用。试试看。我也遇到了同样的问题,我通过更新ADT插件解决了这个问题。你可以从你的手机或模拟器上删除这个应用程序。对我有效的方法是删除“build”文件夹中最里面的文件,这些文件是生成的、中间的、输出的、,和tmp。用户766380如果有答案解决了您的问题,请将其标记为已接受。对我来说,解决方案是:谢谢,我猜进入Project>Clean就成功了!Eclipse有时不自动构建清单,这有什么原因吗?我不知道。我想这只是它的一个怪癖。我将来可能会提交一份bug报告。