java.lang.RuntimeException:无法在LoadedApk.makeApplication实例化应用程序android.app.Application:java.lang.NullPointerException

时间:2012-05-01 15:14:46

标签: android

所以我不时会收到这个错误。它是从Eclipse中的Run按钮启动的应用程序。这种情况每4-5次发生一次。 任何人都知道发生了什么。

我真的很感激!

05-01 18:08:31.109: W/dalvikvm(15491): threadid=1: thread exiting with uncaught exception (group=0x40a311f8)
05-01 18:08:31.109: E/AndroidRuntime(15491): FATAL EXCEPTION: main
05-01 18:08:31.109: E/AndroidRuntime(15491): java.lang.RuntimeException: Unable to instantiate application android.app.Application: java.lang.NullPointerException
05-01 18:08:31.109: E/AndroidRuntime(15491):    at android.app.LoadedApk.makeApplication(LoadedApk.java:482)
05-01 18:08:31.109: E/AndroidRuntime(15491):    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:3938)
05-01 18:08:31.109: E/AndroidRuntime(15491):    at android.app.ActivityThread.access$1300(ActivityThread.java:123)
05-01 18:08:31.109: E/AndroidRuntime(15491):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1185)
05-01 18:08:31.109: E/AndroidRuntime(15491):    at android.os.Handler.dispatchMessage(Handler.java:99)
05-01 18:08:31.109: E/AndroidRuntime(15491):    at android.os.Looper.loop(Looper.java:137)
05-01 18:08:31.109: E/AndroidRuntime(15491):    at android.app.ActivityThread.main(ActivityThread.java:4424)
05-01 18:08:31.109: E/AndroidRuntime(15491):    at java.lang.reflect.Method.invokeNative(Native Method)
05-01 18:08:31.109: E/AndroidRuntime(15491):    at java.lang.reflect.Method.invoke(Method.java:511)
05-01 18:08:31.109: E/AndroidRuntime(15491):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
05-01 18:08:31.109: E/AndroidRuntime(15491):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
05-01 18:08:31.109: E/AndroidRuntime(15491):    at dalvik.system.NativeStart.main(Native Method)
05-01 18:08:31.109: E/AndroidRuntime(15491): Caused by: java.lang.NullPointerException
05-01 18:08:31.109: E/AndroidRuntime(15491):    at android.app.LoadedApk.initializeJavaContextClassLoader(LoadedApk.java:362)
05-01 18:08:31.109: E/AndroidRuntime(15491):    at android.app.LoadedApk.getClassLoader(LoadedApk.java:305)
05-01 18:08:31.109: E/AndroidRuntime(15491):    at android.app.LoadedApk.makeApplication(LoadedApk.java:474)
05-01 18:08:31.109: E/AndroidRuntime(15491):    ... 11 more

6 个答案:

答案 0 :(得分:25)

查看ICS源代码 - 似乎无论出于何种原因,程序包管理器无法获取您的程序包信息 - 它可能只是一个eclipse / ADT错误,其中eclipse对文件持有某种锁定,但无论如何是的,它似乎不是你的代码可能导致的东西。我建议运行一个干净的,从模拟器/设备卸载应用程序,或者如果这些不起作用,你可以尝试一个新的eclipse工作区。

另一个可能是问题的问题是,如果你正在使用一个图书馆项目 - 尝试取消链接这两个项目,清理,然后再将它们重新连接起来 - 但这就是我的行李诀窍:)

更新: yorkw更好地解释了为什么会出现这种情况及其解决方法:RuntimeException: Unable to instantiate application

答案 1 :(得分:3)

这是(不出所料*)Eclipse / ADT / adb中的一个错误。我设法通过从模拟器卸载我的应用程序来修复它。希望它不会回来,但我不会屏住呼吸。

*说真的,Eclipse& ADT似乎是我用过的最软件。在一天之内,我遇到了至少四种不同的非常烦人的错误! (这个,ddms破了管道,工作区在使用但不是,dex内存不足。)这是令人尴尬的粗制滥造。感谢上帝,我们有stackoverflow!

编辑:我说得太早了。一旦您再次运行该应用程序,该错误就会立即返回。

答案 2 :(得分:1)

我也在努力解决这个错误。错误发生得不一致。发现它是一个库依赖项,未包含在API级别16的构建路径中(android-support-v4)

答案 3 :(得分:1)

我在4.x或以上的模拟器和实际设备上运行我的应用程序时也会出现此错误,但错误并不会阻止我的应用程序启动,所以我只是忽略它。

答案 4 :(得分:1)

如果您在活动结束并收集了garabage时尝试拨打new Intent(getActivity(), ActivityXY.class),也会发生这种情况。它通常表示当活动/片段被销毁时忘记取消某些异步操作

答案 5 :(得分:-2)

这是项目中.project文件的错误。您可以在项目上打开其他.project文件而无需进行比较。几乎,您可以在此文件中看到<buildCommand>标记错误。