Android Activity无法实例化

时间:2012-08-20 20:13:19

标签: android android-activity actionbarsherlock runtimeexception instantiationexception

最近我安装了Ubuntu 12.04来代替我的Win7。我使用Eclipse Juno / Java7。但是当我尝试运行我的应用程序时,我得到以下一行错误,尽管一切都在它的位置。我的清单有正确的班级名称。我的活动文件名也与我的清单中的文件名一致。但奇怪的是,这个错误只是在我使用ActionBarSherloock的项目中引起的。奇怪不是吗?

现在来自我的logcat的错误行:

08-20 19:31:59.545: E/AndroidRuntime(764): FATAL EXCEPTION: main
08-20 19:31:59.545: E/AndroidRuntime(764): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{com.app.android/com.app.android.SplashActivity}: java.lang.ClassNotFoundException: com.app.android.SplashActivity
08-20 19:31:59.545: E/AndroidRuntime(764):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1880)
08-20 19:31:59.545: E/AndroidRuntime(764):  at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1981)
08-20 19:31:59.545: E/AndroidRuntime(764):  at android.app.ActivityThread.access$600(ActivityThread.java:123)
08-20 19:31:59.545: E/AndroidRuntime(764):  at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1147)
08-20 19:31:59.545: E/AndroidRuntime(764):  at android.os.Handler.dispatchMessage(Handler.java:99)
08-20 19:31:59.545: E/AndroidRuntime(764):  at android.os.Looper.loop(Looper.java:137)
08-20 19:31:59.545: E/AndroidRuntime(764):  at android.app.ActivityThread.main(ActivityThread.java:4424)
08-20 19:31:59.545: E/AndroidRuntime(764):  at java.lang.reflect.Method.invokeNative(Native Method)
08-20 19:31:59.545: E/AndroidRuntime(764):  at java.lang.reflect.Method.invoke(Method.java:511)
08-20 19:31:59.545: E/AndroidRuntime(764):  at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784)
08-20 19:31:59.545: E/AndroidRuntime(764):  at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551)
08-20 19:31:59.545: E/AndroidRuntime(764):  at dalvik.system.NativeStart.main(Native Method)
08-20 19:31:59.545: E/AndroidRuntime(764): Caused by: java.lang.ClassNotFoundException: com.app.android.SplashActivity
08-20 19:31:59.545: E/AndroidRuntime(764):  at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:61)
08-20 19:31:59.545: E/AndroidRuntime(764):  at java.lang.ClassLoader.loadClass(ClassLoader.java:501)
08-20 19:31:59.545: E/AndroidRuntime(764):  at java.lang.ClassLoader.loadClass(ClassLoader.java:461)
08-20 19:31:59.545: E/AndroidRuntime(764):  at android.app.Instrumentation.newActivity(Instrumentation.java:1023)
08-20 19:31:59.545: E/AndroidRuntime(764):  at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1871)
08-20 19:31:59.545: E/AndroidRuntime(764):  ... 11 more

另请注意我的ABS库很好。没有jar依赖性错误和/或类似的错误。在一行中,我没有看到预编译过程中的问题。只抛出RuntimeException。

有人可以说可能有什么问题吗?

3 个答案:

答案 0 :(得分:2)

Ur catlog说:

java.lang.ClassNotFoundException: com.app.android.SplashActivity

向您的Android清单添加启动活动!

答案 1 :(得分:0)

你提到这个应用程序使用ActionBarSherlock。您的活动是否扩展了SherlockActivity?

好的,SherlockActivity不是问题。嗯......您的应用程序链接的支持库版本与ActionBarSherlock使用的版本完全相同吗? (确保这一点的最佳方法是链接与编译ABS相同的那个。)

答案 2 :(得分:0)

这也可能是来自Windows的文件设置的问题 - 窗口使用了一个奇怪的/不同的end of lineend of file - 我遇到了从Windows到Mac的问题。


正如上面的问题所述,从特定的错误来看,它必须是你SplashActivity.链接的问题。如果它在子文件夹中,那么/可能会有问题(linux )vs \ windows - 你可能值得花时间进入Manifest。

进入活动标签并点击SplashActivity - 从此处您应点击班级名称,让自动检测为您重新输入值。 (我没有在这台电脑上进行日食,所以我不能给你确切的指示,也许其他人可以吗?)