安卓“java.lang.RuntimeException: Unable to instantiate activity”异常

3
我遇到了这个错误。 问题在于“caused by”从句似乎没有提供更多的信息。
12-25 19:34:05.050: E/AndroidRuntime(28888): Uncaught handler: thread main exiting due to uncaught exception
12-25 19:34:05.070: E/AndroidRuntime(28888): java.lang.RuntimeException: Unable to instantiate activity ComponentInfo{il.co.anykey.games.yaniv.pro/ui.YanivMultiPlayerClientActivity}: java.lang.InstantiationException: ui.YanivMultiPlayerClientActivity
12-25 19:34:05.070: E/AndroidRuntime(28888):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2424)
12-25 19:34:05.070: E/AndroidRuntime(28888):    at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2519)
12-25 19:34:05.070: E/AndroidRuntime(28888):    at android.app.ActivityThread.access$2200(ActivityThread.java:123)
12-25 19:34:05.070: E/AndroidRuntime(28888):    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1870)
12-25 19:34:05.070: E/AndroidRuntime(28888):    at android.os.Handler.dispatchMessage(Handler.java:99)
12-25 19:34:05.070: E/AndroidRuntime(28888):    at android.os.Looper.loop(Looper.java:123)
12-25 19:34:05.070: E/AndroidRuntime(28888):    at android.app.ActivityThread.main(ActivityThread.java:4370)
12-25 19:34:05.070: E/AndroidRuntime(28888):    at java.lang.reflect.Method.invokeNative(Native Method)
12-25 19:34:05.070: E/AndroidRuntime(28888):    at java.lang.reflect.Method.invoke(Method.java:521)
12-25 19:34:05.070: E/AndroidRuntime(28888):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:868)
12-25 19:34:05.070: E/AndroidRuntime(28888):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:626)
12-25 19:34:05.070: E/AndroidRuntime(28888):    at dalvik.system.NativeStart.main(Native Method)
12-25 19:34:05.070: E/AndroidRuntime(28888): Caused by: java.lang.InstantiationException: ui.YanivMultiPlayerClientActivity
12-25 19:34:05.070: E/AndroidRuntime(28888):    at java.lang.Class.newInstanceImpl(Native Method)
12-25 19:34:05.070: E/AndroidRuntime(28888):    at java.lang.Class.newInstance(Class.java:1479)
12-25 19:34:05.070: E/AndroidRuntime(28888):    at android.app.Instrumentation.newActivity(Instrumentation.java:1021)
12-25 19:34:05.070: E/AndroidRuntime(28888):    at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2416)
12-25 19:34:05.070: E/AndroidRuntime(28888):    ... 11 more
12-25 19:34:05.110: E/SemcCheckin(28888): Get crash dump level : java.io.FileNotFoundException: /data/semc-checkin/crashdump
1个回答

4
您的 ui.YanivMultiPlayerClientActivity 是否有一个公共的无参构造函数?看起来它正在尝试实例化它。可能的原因如下:
  • 该类可能是抽象类(正如事实所证明的那样)
  • 该类可能没有无参构造函数
  • 可能存在一个无参构造函数,但不是公共的
  • 构造函数可能会抛出异常(我期望这将作为进一步的原因被包含)
  • 该类可能是未声明为 static 的内部类。

@theblitz:你能否创建一个简短但完整的程序,演示问题(在Android上尽可能接近)? - Jon Skeet
4
解决了!看起来当我在尝试实现接口时,我的类被更改为了抽象类。真气人。 - theblitz
@MKJParekh 自己选择自己的答案作为正确答案可以吗? - theblitz
@theblitz:是的,尽管我认为这不太可能会帮助其他人(因为他们犯同样的错误的机会很小)。我建议我编辑我的答案列出各种可能发生这种情况的原因。 - Jon Skeet
@theblitz 嗯,我之前的评论有点愚蠢.. 我本该另想一种方式来编辑当前的答案.. 无论如何,Jon以正确的方式进行了帮助.. - MKJParekh
显示剩余3条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接